vesper-memory 0.3.2 → 0.4.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.
package/.env.example CHANGED
@@ -9,7 +9,9 @@ REDIS_PORT=6379
9
9
  QDRANT_URL=http://localhost:6333
10
10
 
11
11
  # SQLite (Knowledge Graph)
12
- SQLITE_DB=./data/memory.db
12
+ # Default: ~/.vesper/data/memory.db (user-level storage)
13
+ # Override with absolute path if needed
14
+ # SQLITE_DB=~/.vesper/data/memory.db
13
15
 
14
16
  # Embedding Service (BGE-large)
15
17
  EMBEDDING_SERVICE_URL=http://localhost:8000
@@ -21,8 +23,10 @@ LOG_LEVEL=info
21
23
  # =============================================================================
22
24
  # Quick Start
23
25
  # =============================================================================
24
- # 1. Copy this file: cp .env.example .env
25
- # 2. Start services: docker-compose up -d
26
+ # 1. Install: npm install -g vesper-memory
27
+ # 2. Setup: vesper install
26
28
  # 3. That's it! No passwords or API keys required for local use.
27
29
  #
28
- # The system will automatically create the data/ directory for SQLite.
30
+ # Data is stored at ~/.vesper/ (user-level storage, persists across projects)
31
+ # - SQLite database: ~/.vesper/data/memory.db
32
+ # - Docker volumes: ~/.vesper/docker-data/
package/CHANGELOG.md CHANGED
@@ -5,6 +5,78 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.4.0] - 2026-02-03
9
+
10
+ ### BREAKING CHANGES
11
+
12
+ **User-Level Storage Migration**
13
+ - All data now stored at `~/.vesper/` (user-level) instead of project directories
14
+ - SQLite database: `~/.vesper/data/memory.db` (was `./data/memory.db`)
15
+ - Docker volumes: `~/.vesper/docker-data/` (were named volumes `qdrant_storage`, `redis_storage`)
16
+ - Memories now persist across all projects
17
+
18
+ **Migration Required:**
19
+ ```bash
20
+ # Automatic migration from v0.3.x
21
+ vesper migrate
22
+
23
+ # Or manually:
24
+ mkdir -p ~/.vesper/data
25
+ cp ./data/memory.db ~/.vesper/data/memory.db
26
+ docker-compose down
27
+ docker-compose up -d
28
+ ```
29
+
30
+ ### Added
31
+
32
+ **CLI Enhancements**
33
+ - `vesper migrate` command for automatic data migration from v0.3.x
34
+ - User-level directory structure creation with secure permissions (0o700)
35
+ - `VESPER_HOME` environment variable for custom storage location
36
+ - Improved `vesper status` showing data directory and database size
37
+ - Detection of old data needing migration
38
+
39
+ **Path Utilities**
40
+ - Cross-platform path resolution module (`src/utils/paths.ts`)
41
+ - `getVesperHome()` - Resolves `~/.vesper` with platform-specific home directory
42
+ - `getSqlitePath()` - Returns user-level SQLite database path
43
+ - `ensureDirectories()` - Creates all required directories with proper permissions
44
+ - Tilde expansion support in environment variables
45
+
46
+ **Security Improvements**
47
+ - Path traversal warnings for system directories
48
+ - Restrictive directory permissions (owner-only: 0o700)
49
+ - Fixed command injection vulnerability in CLI uninstall
50
+ - Secrets excluded from version control (.claude/settings.local.json)
51
+
52
+ **Testing**
53
+ - 62 new tests for path utilities, CLI migration, and Docker config
54
+ - Total: 632 tests passing (up from 570)
55
+ - 100% test coverage for migration logic
56
+
57
+ ### Changed
58
+
59
+ - Docker volumes changed from named volumes to host bind mounts
60
+ - Default SQLITE_DB path from `./data/memory.db` to `~/.vesper/data/memory.db`
61
+ - CLI install creates `~/.vesper/` structure instead of local `data/` directory
62
+ - Server logs now indicate whether using user-level storage or override
63
+ - Environment variable handling improved with `VESPER_HOME` support
64
+
65
+ ### Fixed
66
+
67
+ - Command injection vulnerability in `vesper uninstall` (replaced shell `rm -rf` with `fs.rmSync`)
68
+ - Race condition in directory creation (removed redundant `existsSync` checks)
69
+ - Missing error handling for directory creation failures
70
+ - Secrets exposure risk (added .claude/settings.local.json to .gitignore)
71
+
72
+ ### Security
73
+
74
+ - **CRITICAL**: Prevented hardcoded secrets in version control
75
+ - **HIGH**: Fixed command injection in CLI uninstall
76
+ - **HIGH**: Added path traversal warnings for dangerous paths
77
+ - **MEDIUM**: Set restrictive permissions on data directories
78
+ - Security review conducted by automated security-reviewer agent
79
+
8
80
  ## [0.3.0] - 2026-02-02
9
81
 
10
82
  ### Added
package/README.md CHANGED
@@ -6,8 +6,9 @@
6
6
 
7
7
  Simple, local memory system for Claude Code. No authentication, no complexity - just memory that works.
8
8
 
9
- [![npm version](https://badge.fury.io/js/vesper-memory.svg)](https://www.npmjs.com/package/vesper-memory)
10
- [![Test Coverage](https://img.shields.io/badge/tests-496%2F496-brightgreen)](.)
9
+ [![npm version](https://img.shields.io/npm/v/vesper-memory.svg)](https://www.npmjs.com/package/vesper-memory)
10
+ [![npm downloads](https://img.shields.io/npm/dm/vesper-memory.svg)](https://www.npmjs.com/package/vesper-memory)
11
+ [![Test Coverage](https://img.shields.io/badge/tests-529%2F529-brightgreen)](.)
11
12
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue)](.)
12
13
  [![License](https://img.shields.io/badge/license-MIT-blue)](.)
13
14
 
package/dist/cli.js CHANGED
@@ -5,11 +5,13 @@
5
5
  * Command-line interface for installing and managing Vesper
6
6
  */
7
7
  import { execSync } from 'child_process';
8
- import { existsSync, mkdirSync, writeFileSync, readFileSync, cpSync } from 'fs';
8
+ import { existsSync, mkdirSync, writeFileSync, readFileSync, cpSync, rmSync, copyFileSync, statSync } from 'fs';
9
9
  import { homedir } from 'os';
10
10
  import { join, dirname } from 'path';
11
11
  import { fileURLToPath } from 'url';
12
12
  import { randomBytes } from 'crypto';
13
+ import { createInterface } from 'readline';
14
+ import { getSqlitePath, getVesperHome, ensureDirectories } from './utils/paths.js';
13
15
  const __filename = fileURLToPath(import.meta.url);
14
16
  const __dirname = dirname(__filename);
15
17
  // Installation directory
@@ -74,7 +76,7 @@ async function install() {
74
76
  process.exit(1);
75
77
  }
76
78
  success('Docker found');
77
- // Create installation directory
79
+ // Create installation directory and user-level data directories
78
80
  info(`Installing to ${INSTALL_DIR}...`);
79
81
  if (existsSync(INSTALL_DIR)) {
80
82
  warning(`Directory ${INSTALL_DIR} already exists`);
@@ -83,6 +85,16 @@ async function install() {
83
85
  else {
84
86
  mkdirSync(INSTALL_DIR, { recursive: true });
85
87
  }
88
+ // Create user-level data directories (~/.vesper/data, ~/.vesper/docker-data, etc.)
89
+ info('Creating user-level data directories...');
90
+ try {
91
+ ensureDirectories();
92
+ success(`Data directories created at ${getVesperHome()}`);
93
+ }
94
+ catch (err) {
95
+ error(`Failed to create data directories: ${err instanceof Error ? err.message : String(err)}`);
96
+ throw err;
97
+ }
86
98
  // Copy files from npm package to install directory
87
99
  const packageRoot = join(__dirname, '..');
88
100
  info('Copying files...');
@@ -263,8 +275,13 @@ async function uninstall() {
263
275
  }
264
276
  // Remove installation directory
265
277
  info('Removing files...');
266
- execSync(`rm -rf "${INSTALL_DIR}"`, { stdio: 'inherit' });
267
- success('Files removed');
278
+ try {
279
+ rmSync(INSTALL_DIR, { recursive: true, force: true });
280
+ success('Files removed');
281
+ }
282
+ catch (err) {
283
+ error(`Failed to remove ${INSTALL_DIR}: ${err instanceof Error ? err.message : String(err)}`);
284
+ }
268
285
  log('\n✅ Vesper uninstalled successfully\n');
269
286
  info('Restart Claude Code to complete removal');
270
287
  }
@@ -334,11 +351,28 @@ async function configure() {
334
351
  }
335
352
  info('Loading environment configuration...');
336
353
  const envVars = loadEnvFile(packageRoot);
337
- // Resolve SQLite DB path relative to package root
338
- const sqliteDb = envVars.SQLITE_DB || './data/memory.db';
339
- const absoluteSqliteDb = sqliteDb.startsWith('/')
340
- ? sqliteDb
341
- : join(packageRoot, sqliteDb);
354
+ // Ensure user-level data directories exist
355
+ try {
356
+ ensureDirectories();
357
+ }
358
+ catch (err) {
359
+ warning(`Could not create data directories: ${err instanceof Error ? err.message : String(err)}`);
360
+ }
361
+ // Resolve SQLite DB path: use env var if set, otherwise user-level path
362
+ // New default: ~/.vesper/data/memory.db (not ./data/memory.db)
363
+ let absoluteSqliteDb;
364
+ if (envVars.SQLITE_DB) {
365
+ // Explicit env var - resolve relative to package root if needed
366
+ absoluteSqliteDb = envVars.SQLITE_DB.startsWith('/')
367
+ ? envVars.SQLITE_DB
368
+ : envVars.SQLITE_DB === ':memory:'
369
+ ? ':memory:'
370
+ : join(packageRoot, envVars.SQLITE_DB);
371
+ }
372
+ else {
373
+ // Default to user-level storage
374
+ absoluteSqliteDb = getSqlitePath();
375
+ }
342
376
  info('Configuring Claude Code MCP integration...');
343
377
  // Check if claude CLI is available
344
378
  try {
@@ -461,12 +495,43 @@ function status() {
461
495
  log('\nRun: vesper install');
462
496
  return;
463
497
  }
498
+ // Check user-level data directory
499
+ const vesperHome = getVesperHome();
500
+ log(`\n📂 Data Directory: ${vesperHome}`);
501
+ if (existsSync(vesperHome)) {
502
+ success('Data directory exists');
503
+ // Check for SQLite database
504
+ const sqlitePath = getSqlitePath();
505
+ if (existsSync(sqlitePath)) {
506
+ try {
507
+ const stats = statSync(sqlitePath);
508
+ const sizeMB = (stats.size / 1024 / 1024).toFixed(2);
509
+ success(`SQLite database: ${sizeMB} MB`);
510
+ }
511
+ catch {
512
+ success('SQLite database exists');
513
+ }
514
+ }
515
+ else {
516
+ info('SQLite database: not yet created (will be created on first use)');
517
+ }
518
+ // Check for old data that could be migrated
519
+ const oldDataPath = join(INSTALL_DIR, 'data', 'memory.db');
520
+ if (existsSync(oldDataPath) && oldDataPath !== sqlitePath) {
521
+ warning('Old data found at installation directory');
522
+ info('Run "vesper migrate" to move data to user-level storage');
523
+ }
524
+ }
525
+ else {
526
+ warning('Data directory not created yet');
527
+ info('Run "vesper configure" or "vesper install" to create');
528
+ }
464
529
  // Check MCP config using claude CLI
465
530
  log('\n🤖 MCP Configuration:');
466
531
  try {
467
532
  const output = execSync('claude mcp get vesper', { encoding: 'utf-8', stdio: 'pipe' });
468
533
  if (output.includes('"vesper"') || output.toLowerCase().includes('vesper')) {
469
- success('Configured in Claude Code ✅');
534
+ success('Configured in Claude Code');
470
535
  success('Memory system: ENABLED');
471
536
  }
472
537
  else {
@@ -505,6 +570,127 @@ function status() {
505
570
  }
506
571
  log('');
507
572
  }
573
+ // Helper function to prompt for user confirmation
574
+ function promptConfirm(question) {
575
+ return new Promise((resolve) => {
576
+ const rl = createInterface({
577
+ input: process.stdin,
578
+ output: process.stdout,
579
+ });
580
+ rl.question(`${question} (y/N): `, (answer) => {
581
+ rl.close();
582
+ resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
583
+ });
584
+ });
585
+ }
586
+ // Migrate data from old locations to user-level storage
587
+ async function migrate() {
588
+ header('🚚 Migrating Vesper Data to User-Level Storage');
589
+ const vesperHome = getVesperHome();
590
+ const newDbPath = getSqlitePath();
591
+ // Potential old data locations
592
+ const oldLocations = [
593
+ join(INSTALL_DIR, 'data', 'memory.db'), // Old installation directory
594
+ './data/memory.db', // Current working directory
595
+ ];
596
+ info(`Target location: ${newDbPath}`);
597
+ // Ensure target directories exist
598
+ try {
599
+ ensureDirectories();
600
+ success(`Data directories created at ${vesperHome}`);
601
+ }
602
+ catch (err) {
603
+ error(`Failed to create data directories: ${err instanceof Error ? err.message : String(err)}`);
604
+ process.exit(1);
605
+ }
606
+ // Find old data
607
+ let foundOldData = false;
608
+ let oldDataPath = '';
609
+ let oldDataSize = 0;
610
+ for (const oldPath of oldLocations) {
611
+ if (existsSync(oldPath)) {
612
+ try {
613
+ const stats = statSync(oldPath);
614
+ if (stats.isFile() && stats.size > 0) {
615
+ foundOldData = true;
616
+ oldDataPath = oldPath;
617
+ oldDataSize = stats.size;
618
+ break;
619
+ }
620
+ }
621
+ catch {
622
+ // Ignore stat errors
623
+ }
624
+ }
625
+ }
626
+ if (!foundOldData) {
627
+ info('No old data found to migrate.');
628
+ info('Checked locations:');
629
+ for (const loc of oldLocations) {
630
+ log(` - ${loc}`);
631
+ }
632
+ log('\n');
633
+ success('Nothing to migrate. You are ready to use Vesper!');
634
+ return;
635
+ }
636
+ const sizeMB = (oldDataSize / 1024 / 1024).toFixed(2);
637
+ info(`Found old database: ${oldDataPath} (${sizeMB} MB)`);
638
+ // Check if target already exists
639
+ if (existsSync(newDbPath)) {
640
+ try {
641
+ const newStats = statSync(newDbPath);
642
+ const newSizeMB = (newStats.size / 1024 / 1024).toFixed(2);
643
+ warning(`Target already exists: ${newDbPath} (${newSizeMB} MB)`);
644
+ const shouldOverwrite = await promptConfirm('Overwrite existing data?');
645
+ if (!shouldOverwrite) {
646
+ info('Migration cancelled. Existing data preserved.');
647
+ return;
648
+ }
649
+ }
650
+ catch {
651
+ // Target exists but couldn't stat - proceed with caution
652
+ }
653
+ }
654
+ // Confirm migration
655
+ log('\n📋 Migration Plan:');
656
+ log(` From: ${oldDataPath}`);
657
+ log(` To: ${newDbPath}`);
658
+ log(` Size: ${sizeMB} MB\n`);
659
+ const shouldProceed = await promptConfirm('Proceed with migration?');
660
+ if (!shouldProceed) {
661
+ info('Migration cancelled.');
662
+ return;
663
+ }
664
+ // Perform migration
665
+ info('Copying database...');
666
+ try {
667
+ copyFileSync(oldDataPath, newDbPath);
668
+ success('Database copied successfully');
669
+ // Verify the copy
670
+ if (existsSync(newDbPath)) {
671
+ const copiedStats = statSync(newDbPath);
672
+ if (copiedStats.size === oldDataSize) {
673
+ success('Verification passed: file sizes match');
674
+ }
675
+ else {
676
+ warning('File sizes differ - please verify data integrity');
677
+ }
678
+ }
679
+ log('\n');
680
+ success('Migration complete!');
681
+ info(`Your data is now at: ${newDbPath}`);
682
+ info(`Old data preserved at: ${oldDataPath}`);
683
+ log('\n💡 You can safely remove the old data after verifying everything works:\n');
684
+ log(` rm "${oldDataPath}"\n`);
685
+ // Remind to reconfigure
686
+ info('Run "vesper configure" to update MCP settings to use the new location.');
687
+ }
688
+ catch (err) {
689
+ error(`Migration failed: ${err instanceof Error ? err.message : String(err)}`);
690
+ error('Your original data is still intact at the old location.');
691
+ process.exit(1);
692
+ }
693
+ }
508
694
  // Main CLI
509
695
  const command = process.argv[2];
510
696
  switch (command) {
@@ -541,6 +727,12 @@ switch (command) {
541
727
  process.exit(1);
542
728
  });
543
729
  break;
730
+ case 'migrate':
731
+ migrate().catch((err) => {
732
+ error(`Migration failed: ${err.message}`);
733
+ process.exit(1);
734
+ });
735
+ break;
544
736
  case 'help':
545
737
  case '--help':
546
738
  case '-h':
@@ -554,6 +746,7 @@ ${colors.bright}USAGE:${colors.reset}
554
746
  ${colors.bright}COMMANDS:${colors.reset}
555
747
  install Install Vesper and configure Claude Code (full setup)
556
748
  configure Configure MCP server only (no Docker setup)
749
+ migrate Migrate data from old location to user-level storage
557
750
  uninstall Remove Vesper completely
558
751
  status Show installation and service status
559
752
  enable Enable Vesper memory system
@@ -563,6 +756,7 @@ ${colors.bright}COMMANDS:${colors.reset}
563
756
  ${colors.bright}EXAMPLES:${colors.reset}
564
757
  vesper install # Full installation with Docker setup
565
758
  vesper configure # Configure MCP only (lightweight)
759
+ vesper migrate # Move data to ~/.vesper/data/
566
760
  vesper status # Check if running
567
761
  vesper enable # Enable memory system
568
762
  vesper disable # Disable for benchmarking
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,yBAAyB;AACzB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAEjF,6BAA6B;AAC7B,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;IAClB,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,SAAS,GAAG,CAAC,OAAe,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK;IAChD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,MAAM,CAAC,OAAe;IAC7B,GAAG,CAAC,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,GAAG,CAAC,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,GAAG,CAAC,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,GAAG,CAAC,OAAO,OAAO,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,IAAI,CAAC,OAAe;IAC3B,GAAG,CAAC,OAAO,OAAO,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,kCAAkC;AAClC,SAAS,gBAAgB;IACvB,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,6BAA6B;AAC7B,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,iBAAiB;AACjB,KAAK,UAAU,OAAO;IACpB,MAAM,CAAC,yDAAyD,CAAC,CAAC;IAElE,sBAAsB;IACtB,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAElC,IAAI,CAAC;QACH,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACnB,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,cAAc,CAAC,CAAC;IAExB,gCAAgC;IAChC,IAAI,CAAC,iBAAiB,WAAW,KAAK,CAAC,CAAC;IAExC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,aAAa,WAAW,iBAAiB,CAAC,CAAC;QACnD,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE1C,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzB,MAAM,WAAW,GAAG;QAClB,MAAM;QACN,QAAQ;QACR,mBAAmB;QACnB,SAAS;QACT,oBAAoB;QACpB,cAAc;QACd,cAAc;KACf,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,cAAc,CAAC,CAAC;IAExB,kCAAkC;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;IAED,4CAA4C;IAC5C,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACnC,IAAI,CAAC;QACH,QAAQ,CAAC,mCAAmC,EAAE;YAC5C,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,+DAA+D;IAC/D,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,QAAQ,CAAC,sBAAsB,EAAE;YAC/B,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,6CAA6C,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAC5C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzD,8CAA8C;IAC9C,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAEnD,mCAAmC;IACnC,IAAI,CAAC;QACH,QAAQ,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC3C,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,+DAA+D;IAC/D,IAAI,CAAC;QACH,QAAQ,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IAED,qDAAqD;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,QAAQ,CACN,wFAAwF,UAAU,GAAG,EACrG,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;QACF,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC/C,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACnD,KAAK,CAAC,wFAAwF,UAAU,GAAG,CAAC,CAAC;QAC7G,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACjE,IAAI,QAAQ,GAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAElC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,iDAAiD,CAAC,CAAC;YAC3D,QAAQ,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;IAEhE,+DAA+D;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG;QACjB,WAAW,EAAE,gDAAgD;QAC7D,KAAK,EAAE,CAAC;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,WAAW,UAAU,YAAY,UAAU,WAAW;gBAC/D,eAAe,EAAE,IAAI;aACtB,CAAC;KACH,CAAC;IAEF,mDAAmD;IACnD,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAC9D,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CACpG,CAAC;IACF,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE7C,0BAA0B;IAC1B,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACnC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAEtE,kBAAkB;IAClB,MAAM,CAAC,8CAA8C,CAAC,CAAC;IACvD,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC3C,MAAM,CAAC,8CAA8C,CAAC,CAAC;IAEvD,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAChD,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAC3D,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAE1D,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,GAAG,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC/C,GAAG,CAAC,iBAAiB,WAAW,yBAAyB,CAAC,CAAC;IAE3D,GAAG,CAAC,qDAAqD,CAAC,CAAC;AAC7D,CAAC;AAED,mBAAmB;AACnB,KAAK,UAAU,SAAS;IACtB,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAEnC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,QAAQ,CAAC,wBAAwB,EAAE;YACjC,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,8CAA8C,CAAC,CAAC;IAC1D,CAAC;IAED,0CAA0C;IAC1C,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,QAAQ,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,0DAA0D,CAAC,CAAC;IACtE,CAAC;IAED,sBAAsB;IACtB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACjE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;gBACjC,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAC9D,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CACpG,CAAC;gBACF,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1B,QAAQ,CAAC,WAAW,WAAW,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzB,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAC7C,IAAI,CAAC,yCAAyC,CAAC,CAAC;AAClD,CAAC;AAED,4CAA4C;AAC5C,qFAAqF;AACrF,SAAS,WAAW,CAAC,WAAmB;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEzD,IAAI,UAAkB,CAAC;IACvB,IAAI,uBAAuB,GAAG,KAAK,CAAC;IAEpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAC3C,UAAU,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACnD,uBAAuB,GAAG,IAAI,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,uDAAuD,CAAC,CAAC;YACjE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,8BAA8B;IAC9B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;gBAC7B,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEvC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;QAE5C,2CAA2C;QAC3C,UAAU,GAAG,UAAU,CAAC,OAAO,CAC7B,mBAAmB,EACnB,kBAAkB,aAAa,EAAE,CAClC,CAAC;QACF,UAAU,GAAG,UAAU,CAAC,OAAO,CAC7B,mBAAmB,EACnB,kBAAkB,SAAS,EAAE,CAC9B,CAAC;QACF,UAAU,GAAG,UAAU,CAAC,OAAO,CAC7B,sBAAsB,EACtB,qBAAqB,gBAAgB,EAAE,CACxC,CAAC;QAEF,sBAAsB;QACtB,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAE9C,6CAA6C;QAC7C,GAAG,CAAC,cAAc,GAAG,aAAa,CAAC;QACnC,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC;QAC/B,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0CAA0C;AAC1C,KAAK,UAAU,SAAS;IACtB,MAAM,CAAC,mCAAmC,CAAC,CAAC;IAE5C,qEAAqE;IACrE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAE1D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAEzC,kDAAkD;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IACzD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QAC/C,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEhC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAEnD,mCAAmC;IACnC,IAAI,CAAC;QACH,QAAQ,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC3C,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,+DAA+D;IAC/D,IAAI,CAAC;QACH,QAAQ,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IAED,8DAA8D;IAC9D,MAAM,QAAQ,GAAG;QACf,sBAAsB;QACtB,iBAAiB,OAAO,CAAC,UAAU,IAAI,WAAW,EAAE;QACpD,iBAAiB,OAAO,CAAC,UAAU,IAAI,MAAM,EAAE;QAC/C,iBAAiB,OAAO,CAAC,UAAU,IAAI,uBAAuB,EAAE;QAChE,gBAAgB,gBAAgB,EAAE;QAClC,4BAA4B,OAAO,CAAC,qBAAqB,IAAI,uBAAuB,EAAE;QAEtF,kCAAkC;QAClC,oBAAoB,OAAO,CAAC,aAAa,IAAI,WAAW,EAAE;QAC1D,oBAAoB,OAAO,CAAC,aAAa,IAAI,MAAM,EAAE;QACrD,kBAAkB,OAAO,CAAC,WAAW,IAAI,QAAQ,EAAE;QACnD,oBAAoB,OAAO,CAAC,aAAa,IAAI,UAAU,EAAE;QAEzD,uBAAuB;QACvB,eAAe,OAAO,CAAC,QAAQ,IAAI,YAAY,EAAE;QACjD,gBAAgB,OAAO,CAAC,SAAS,IAAI,MAAM,EAAE;QAE7C,4BAA4B;QAC5B,mBAAmB,OAAO,CAAC,YAAY,IAAI,OAAO,EAAE;QACpD,uBAAuB,OAAO,CAAC,gBAAgB,IAAI,UAAU,EAAE;QAC/D,yBAAyB,OAAO,CAAC,kBAAkB,IAAI,GAAG,EAAE;QAE5D,gBAAgB;QAChB,8BAA8B,OAAO,CAAC,uBAAuB,IAAI,UAAU,EAAE;QAC7E,2BAA2B,OAAO,CAAC,oBAAoB,IAAI,OAAO,EAAE;KACrE,CAAC;IAEF,wFAAwF;IACxF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,qDAAqD;IACrD,kDAAkD;IAClD,MAAM,OAAO,GAAG,wDAAwD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,UAAU,GAAG,CAAC;IAErH,IAAI,CAAC;QACH,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC/C,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,GAAG,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAEhE,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC3C,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACjD,GAAG,CAAC,YAAY,WAAW,0BAA0B,CAAC,CAAC;IACvD,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAChD,GAAG,CAAC,4DAA4D,CAAC,CAAC;AACpE,CAAC;AAED,gBAAgB;AAChB,KAAK,UAAU,YAAY;IACzB,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAE1C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9B,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC1C,MAAM,SAAS,EAAE,CAAC;IAElB,GAAG,CAAC,uDAAuD,CAAC,CAAC;AAC/D,CAAC;AAED,iBAAiB;AACjB,KAAK,UAAU,aAAa;IAC1B,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAE7C,sCAAsC;IACtC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,QAAQ,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,2CAA2C,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACjD,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAC3C,GAAG,CAAC,qDAAqD,CAAC,CAAC;AAC7D,CAAC;AAED,cAAc;AACd,SAAS,MAAM;IACb,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE3B,qBAAqB;IACrB,GAAG,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,oCAAoC;IACpC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACvF,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,6BAA6B,CAAC,CAAC;YACvC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,+BAA+B,CAAC,CAAC;YACzC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,+BAA+B,CAAC,CAAC;QACzC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAC7C,CAAC;IAED,iBAAiB;IACjB,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7B,IAAI,WAAW,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,iCAAiC,EAAE;gBACzD,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,CAAC;AACV,CAAC;AAED,WAAW;AACX,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhC,QAAQ,OAAO,EAAE,CAAC;IAChB,KAAK,SAAS;QACZ,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,MAAM;IAER,KAAK,WAAW;QACd,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,MAAM;IAER,KAAK,WAAW;QACd,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,KAAK,CAAC,yBAAyB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,MAAM;IAER,KAAK,QAAQ;QACX,MAAM,EAAE,CAAC;QACT,MAAM;IAER,KAAK,QAAQ;QACX,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,KAAK,CAAC,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,MAAM;IAER,KAAK,SAAS;QACZ,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,KAAK,CAAC,mBAAmB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,MAAM;IAER,KAAK,MAAM,CAAC;IACZ,KAAK,QAAQ,CAAC;IACd,KAAK,IAAI,CAAC;IACV,KAAK,SAAS;QACZ,GAAG,CAAC;EACN,MAAM,CAAC,MAAM,4CAA4C,MAAM,CAAC,KAAK;;EAErE,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,KAAK;;;EAGlC,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,KAAK;;;;;;;;;EASrC,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,KAAK;;;;;;;;EAQrC,MAAM,CAAC,MAAM,iBAAiB,MAAM,CAAC,KAAK;;;EAG1C,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,KAAK;;CAErC,CAAC,CAAC;QACC,MAAM;IAER;QACE,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACrC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -17,6 +17,7 @@ import Redis from "ioredis";
17
17
  import { createRequire } from "module";
18
18
  import { randomUUID } from "crypto";
19
19
  import { validateInput, StoreMemoryInputSchema, RetrieveMemoryInputSchema, ListRecentInputSchema, GetStatsInputSchema, } from "./utils/validation.js";
20
+ import { getSqlitePath, ensureDirectories } from "./utils/paths.js";
20
21
  import { createEmbeddingClient } from "./embeddings/client.js";
21
22
  import { HybridSearchEngine } from "./retrieval/hybrid-search.js";
22
23
  import { WorkingMemoryLayer } from "./memory-layers/working-memory.js";
@@ -180,12 +181,22 @@ async function initializeConnections() {
180
181
  }
181
182
  // Initialize SQLite (metadata store)
182
183
  try {
183
- const dbPath = process.env.SQLITE_DB || ":memory:";
184
+ // Ensure ~/.vesper directories exist (for user-level storage)
185
+ ensureDirectories();
186
+ // Use SQLITE_DB env if set, otherwise use user-level path (~/.vesper/data/memory.db)
187
+ const isUserLevel = !process.env.SQLITE_DB;
188
+ const dbPath = process.env.SQLITE_DB || getSqlitePath();
184
189
  connections.sqlite = new DatabaseConstructor(dbPath);
185
190
  connections.sqlite.pragma("journal_mode = WAL");
186
191
  // Initialize schema
187
192
  initializeSqliteSchema();
188
- console.error("[INFO] SQLite database initialized at", dbPath);
193
+ // Clear logging about storage location
194
+ if (isUserLevel) {
195
+ console.error(`[INFO] SQLite database initialized at ${dbPath} (user-level storage)`);
196
+ }
197
+ else {
198
+ console.error(`[INFO] SQLite database initialized at ${dbPath} (SQLITE_DB override)`);
199
+ }
189
200
  }
190
201
  catch (err) {
191
202
  console.error("[WARN] SQLite initialization failed:", err instanceof Error ? err.message : String(err));
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Path Utility Module
3
+ *
4
+ * Provides cross-platform path resolution for Vesper's user-level storage.
5
+ * All data is stored at ~/.vesper/ by default, with VESPER_HOME override.
6
+ *
7
+ * Directory Structure:
8
+ * ~/.vesper/
9
+ * ├── data/
10
+ * │ └── memory.db # SQLite database
11
+ * ├── docker-data/
12
+ * │ ├── qdrant/ # Qdrant vector storage
13
+ * │ └── redis/ # Redis data
14
+ * └── logs/ # Application logs
15
+ */
16
+ /**
17
+ * Subdirectories to create under VESPER_HOME
18
+ */
19
+ export declare const VESPER_SUBDIRS: readonly ["data", "docker-data", "docker-data/qdrant", "docker-data/redis", "logs"];
20
+ /**
21
+ * Get the Vesper home directory
22
+ *
23
+ * Returns ~/.vesper by default, or VESPER_HOME environment variable if set.
24
+ * Paths are normalized and made absolute.
25
+ *
26
+ * @returns Absolute path to Vesper home directory
27
+ */
28
+ export declare function getVesperHome(): string;
29
+ /**
30
+ * Get the SQLite database path
31
+ *
32
+ * Returns ~/.vesper/data/memory.db by default.
33
+ *
34
+ * @returns Absolute path to SQLite database file
35
+ */
36
+ export declare function getSqlitePath(): string;
37
+ /**
38
+ * Get the Docker data directory
39
+ *
40
+ * Returns ~/.vesper/docker-data by default.
41
+ * Used for bind mounts in docker-compose.yml.
42
+ *
43
+ * @returns Absolute path to Docker data directory
44
+ */
45
+ export declare function getDockerDataDir(): string;
46
+ /**
47
+ * Get the Qdrant data directory
48
+ *
49
+ * Returns ~/.vesper/docker-data/qdrant by default.
50
+ *
51
+ * @returns Absolute path to Qdrant data directory
52
+ */
53
+ export declare function getQdrantDataDir(): string;
54
+ /**
55
+ * Get the Redis data directory
56
+ *
57
+ * Returns ~/.vesper/docker-data/redis by default.
58
+ *
59
+ * @returns Absolute path to Redis data directory
60
+ */
61
+ export declare function getRedisDataDir(): string;
62
+ /**
63
+ * Ensure all Vesper directories exist
64
+ *
65
+ * Creates ~/.vesper and all subdirectories if they don't exist.
66
+ * Safe to call multiple times (idempotent).
67
+ *
68
+ * @returns The Vesper home directory path
69
+ * @throws Error if directory creation fails (e.g., permission denied)
70
+ */
71
+ export declare function ensureDirectories(): string;
72
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH;;GAEG;AACH,eAAO,MAAM,cAAc,qFAMjB,CAAC;AAkBX;;;;;;;GAOG;AACH,wBAAgB,aAAa,IAAI,MAAM,CA8CtC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAsB1C"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Path Utility Module
3
+ *
4
+ * Provides cross-platform path resolution for Vesper's user-level storage.
5
+ * All data is stored at ~/.vesper/ by default, with VESPER_HOME override.
6
+ *
7
+ * Directory Structure:
8
+ * ~/.vesper/
9
+ * ├── data/
10
+ * │ └── memory.db # SQLite database
11
+ * ├── docker-data/
12
+ * │ ├── qdrant/ # Qdrant vector storage
13
+ * │ └── redis/ # Redis data
14
+ * └── logs/ # Application logs
15
+ */
16
+ import * as path from "path";
17
+ import * as os from "os";
18
+ import * as fs from "fs";
19
+ /**
20
+ * Subdirectories to create under VESPER_HOME
21
+ */
22
+ export const VESPER_SUBDIRS = [
23
+ "data",
24
+ "docker-data",
25
+ "docker-data/qdrant",
26
+ "docker-data/redis",
27
+ "logs",
28
+ ];
29
+ /**
30
+ * Expands ~ to home directory in a path
31
+ *
32
+ * @param inputPath - Path that may contain ~
33
+ * @returns Expanded path with ~ replaced by home directory
34
+ */
35
+ function expandTilde(inputPath) {
36
+ if (inputPath.startsWith("~/")) {
37
+ return path.join(os.homedir(), inputPath.slice(2));
38
+ }
39
+ if (inputPath === "~") {
40
+ return os.homedir();
41
+ }
42
+ return inputPath;
43
+ }
44
+ /**
45
+ * Get the Vesper home directory
46
+ *
47
+ * Returns ~/.vesper by default, or VESPER_HOME environment variable if set.
48
+ * Paths are normalized and made absolute.
49
+ *
50
+ * @returns Absolute path to Vesper home directory
51
+ */
52
+ export function getVesperHome() {
53
+ const envHome = process.env.VESPER_HOME;
54
+ // Use environment variable if set and not empty/whitespace
55
+ if (envHome && envHome.trim()) {
56
+ let expanded = expandTilde(envHome.trim());
57
+ // Normalize the path (handles double slashes, etc.)
58
+ expanded = path.normalize(expanded);
59
+ // Remove trailing slash (path.normalize doesn't do this on all platforms)
60
+ if (expanded.length > 1 && expanded.endsWith(path.sep)) {
61
+ expanded = expanded.slice(0, -1);
62
+ }
63
+ // SECURITY: Warn if path is a system directory
64
+ const systemPaths = [
65
+ "/etc",
66
+ "/var",
67
+ "/usr",
68
+ "/bin",
69
+ "/sbin",
70
+ "/System",
71
+ "/Library",
72
+ "C:\\Windows",
73
+ "C:\\Program Files",
74
+ ];
75
+ const isSystemPath = systemPaths.some((sys) => expanded === sys || expanded.startsWith(sys + path.sep));
76
+ if (isSystemPath) {
77
+ console.error(`[WARN] VESPER_HOME points to system directory: ${expanded}`);
78
+ console.error("[WARN] This may cause permission issues or system instability");
79
+ }
80
+ // SECURITY: Warn if path is user's home directory root
81
+ const home = os.homedir();
82
+ if (expanded === home) {
83
+ console.error(`[WARN] VESPER_HOME is set to home directory root: ${expanded}`);
84
+ console.error("[WARN] Consider using ~/.vesper or a subdirectory");
85
+ }
86
+ return expanded;
87
+ }
88
+ // Default to ~/.vesper
89
+ return path.join(os.homedir(), ".vesper");
90
+ }
91
+ /**
92
+ * Get the SQLite database path
93
+ *
94
+ * Returns ~/.vesper/data/memory.db by default.
95
+ *
96
+ * @returns Absolute path to SQLite database file
97
+ */
98
+ export function getSqlitePath() {
99
+ return path.join(getVesperHome(), "data", "memory.db");
100
+ }
101
+ /**
102
+ * Get the Docker data directory
103
+ *
104
+ * Returns ~/.vesper/docker-data by default.
105
+ * Used for bind mounts in docker-compose.yml.
106
+ *
107
+ * @returns Absolute path to Docker data directory
108
+ */
109
+ export function getDockerDataDir() {
110
+ return path.join(getVesperHome(), "docker-data");
111
+ }
112
+ /**
113
+ * Get the Qdrant data directory
114
+ *
115
+ * Returns ~/.vesper/docker-data/qdrant by default.
116
+ *
117
+ * @returns Absolute path to Qdrant data directory
118
+ */
119
+ export function getQdrantDataDir() {
120
+ return path.join(getDockerDataDir(), "qdrant");
121
+ }
122
+ /**
123
+ * Get the Redis data directory
124
+ *
125
+ * Returns ~/.vesper/docker-data/redis by default.
126
+ *
127
+ * @returns Absolute path to Redis data directory
128
+ */
129
+ export function getRedisDataDir() {
130
+ return path.join(getDockerDataDir(), "redis");
131
+ }
132
+ /**
133
+ * Ensure all Vesper directories exist
134
+ *
135
+ * Creates ~/.vesper and all subdirectories if they don't exist.
136
+ * Safe to call multiple times (idempotent).
137
+ *
138
+ * @returns The Vesper home directory path
139
+ * @throws Error if directory creation fails (e.g., permission denied)
140
+ */
141
+ export function ensureDirectories() {
142
+ const vesperHome = getVesperHome();
143
+ try {
144
+ // Create home directory with restrictive permissions (owner read/write/execute only)
145
+ // This protects sensitive data on shared systems
146
+ fs.mkdirSync(vesperHome, { recursive: true, mode: 0o700 });
147
+ // Create all subdirectories with same restrictive permissions
148
+ for (const subdir of VESPER_SUBDIRS) {
149
+ const fullPath = path.join(vesperHome, subdir);
150
+ fs.mkdirSync(fullPath, { recursive: true, mode: 0o700 });
151
+ }
152
+ }
153
+ catch (err) {
154
+ const errorMsg = err instanceof Error ? err.message : String(err);
155
+ throw new Error(`Failed to create Vesper directories at ${vesperHome}: ${errorMsg}. ` +
156
+ `Check permissions or set VESPER_HOME to a writable location.`);
157
+ }
158
+ return vesperHome;
159
+ }
160
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ services:
6
6
  ports:
7
7
  - "6333:6333"
8
8
  volumes:
9
- - qdrant_storage:/qdrant/storage
9
+ - ${VESPER_HOME:-~/.vesper}/docker-data/qdrant:/qdrant/storage
10
10
  restart: unless-stopped
11
11
  networks:
12
12
  - vesper-network
@@ -24,7 +24,7 @@ services:
24
24
  ports:
25
25
  - "6379:6379"
26
26
  volumes:
27
- - redis_storage:/data
27
+ - ${VESPER_HOME:-~/.vesper}/docker-data/redis:/data
28
28
  command: redis-server --appendonly yes
29
29
  restart: unless-stopped
30
30
  networks:
@@ -58,8 +58,6 @@ networks:
58
58
  vesper-network:
59
59
  driver: bridge
60
60
 
61
- volumes:
62
- qdrant_storage:
63
- driver: local
64
- redis_storage:
65
- driver: local
61
+ # Note: Volume mounts use ${VESPER_HOME:-~/.vesper}/docker-data/
62
+ # to persist data in user-level storage instead of Docker named volumes.
63
+ # This enables data portability and easier backup.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vesper-memory",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "AI memory system for Claude Code - Three-layer architecture with semantic search, knowledge graphs, and intelligent retrieval",
5
5
  "type": "module",
6
6
  "engines": {
@@ -87,6 +87,7 @@
87
87
  "prettier": "^3.1.1",
88
88
  "ts-node": "^10.9.2",
89
89
  "typescript": "^5.3.3",
90
- "vitest": "^4.0.18"
90
+ "vitest": "^4.0.18",
91
+ "yaml": "^2.8.2"
91
92
  }
92
93
  }
@@ -6,6 +6,17 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6
6
  PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
7
7
  cd "$PROJECT_DIR" || exit 1
8
8
 
9
+ # Set VESPER_HOME for user-level storage (default: ~/.vesper)
10
+ # This is exported so docker-compose can use it for volume mounts
11
+ export VESPER_HOME="${VESPER_HOME:-$HOME/.vesper}"
12
+
13
+ # Create required directories before Docker starts
14
+ # Docker will fail to mount volumes if these directories don't exist
15
+ mkdir -p "$VESPER_HOME/data"
16
+ mkdir -p "$VESPER_HOME/docker-data/qdrant"
17
+ mkdir -p "$VESPER_HOME/docker-data/redis"
18
+ mkdir -p "$VESPER_HOME/logs"
19
+
9
20
  # Check if Docker is running
10
21
  if ! docker info >/dev/null 2>&1; then
11
22
  echo "⚠️ Docker is not running. Please start Docker Desktop."