vesper-memory 0.5.4 → 0.6.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 (80) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +6 -6
  3. package/config/sqlite-schema.sql +31 -0
  4. package/dist/cli.js +6 -49
  5. package/dist/cli.js.map +1 -1
  6. package/dist/consolidation/pipeline.d.ts +25 -6
  7. package/dist/consolidation/pipeline.d.ts.map +1 -1
  8. package/dist/consolidation/pipeline.js +310 -67
  9. package/dist/consolidation/pipeline.js.map +1 -1
  10. package/dist/memory-layers/semantic-memory.d.ts +8 -3
  11. package/dist/memory-layers/semantic-memory.d.ts.map +1 -1
  12. package/dist/memory-layers/semantic-memory.js +110 -50
  13. package/dist/memory-layers/semantic-memory.js.map +1 -1
  14. package/dist/memory-layers/skill-library.d.ts +9 -9
  15. package/dist/memory-layers/skill-library.d.ts.map +1 -1
  16. package/dist/memory-layers/skill-library.js +85 -56
  17. package/dist/memory-layers/skill-library.js.map +1 -1
  18. package/dist/memory-layers/working-memory.d.ts +2 -2
  19. package/dist/memory-layers/working-memory.d.ts.map +1 -1
  20. package/dist/memory-layers/working-memory.js +57 -47
  21. package/dist/memory-layers/working-memory.js.map +1 -1
  22. package/dist/retrieval/hybrid-search.d.ts.map +1 -1
  23. package/dist/retrieval/hybrid-search.js +10 -5
  24. package/dist/retrieval/hybrid-search.js.map +1 -1
  25. package/dist/retrieval/index-outbox.d.ts +50 -0
  26. package/dist/retrieval/index-outbox.d.ts.map +1 -0
  27. package/dist/retrieval/index-outbox.js +225 -0
  28. package/dist/retrieval/index-outbox.js.map +1 -0
  29. package/dist/retrieval/memory-retriever.d.ts +123 -0
  30. package/dist/retrieval/memory-retriever.d.ts.map +1 -0
  31. package/dist/retrieval/memory-retriever.js +723 -0
  32. package/dist/retrieval/memory-retriever.js.map +1 -0
  33. package/dist/router/smart-router.js +18 -18
  34. package/dist/server-wrapper.js +0 -0
  35. package/dist/server.d.ts +9 -1
  36. package/dist/server.d.ts.map +1 -1
  37. package/dist/server.js +859 -355
  38. package/dist/server.js.map +1 -1
  39. package/dist/utils/claude-mcp-config.d.ts +3 -0
  40. package/dist/utils/claude-mcp-config.d.ts.map +1 -0
  41. package/dist/utils/claude-mcp-config.js +42 -0
  42. package/dist/utils/claude-mcp-config.js.map +1 -0
  43. package/dist/utils/monitoring.d.ts +1 -0
  44. package/dist/utils/monitoring.d.ts.map +1 -1
  45. package/dist/utils/monitoring.js +1 -0
  46. package/dist/utils/monitoring.js.map +1 -1
  47. package/dist/utils/paths.d.ts +13 -1
  48. package/dist/utils/paths.d.ts.map +1 -1
  49. package/dist/utils/paths.js +24 -0
  50. package/dist/utils/paths.js.map +1 -1
  51. package/dist/utils/validation.d.ts +14 -2
  52. package/dist/utils/validation.d.ts.map +1 -1
  53. package/dist/utils/validation.js +64 -48
  54. package/dist/utils/validation.js.map +1 -1
  55. package/docker-compose.yml +3 -3
  56. package/package.json +7 -4
  57. package/scripts/README.md +1 -1
  58. package/scripts/health-check.sh +8 -4
  59. package/scripts/init-qdrant.ts +42 -60
  60. package/scripts/test-mcp-server.sh +2 -2
  61. package/dist/config/rate-limits.d.ts +0 -76
  62. package/dist/config/rate-limits.d.ts.map +0 -1
  63. package/dist/config/rate-limits.js +0 -161
  64. package/dist/config/rate-limits.js.map +0 -1
  65. package/dist/middleware/auth.d.ts +0 -287
  66. package/dist/middleware/auth.d.ts.map +0 -1
  67. package/dist/middleware/auth.js +0 -610
  68. package/dist/middleware/auth.js.map +0 -1
  69. package/dist/monitoring/health.d.ts +0 -241
  70. package/dist/monitoring/health.d.ts.map +0 -1
  71. package/dist/monitoring/health.js +0 -649
  72. package/dist/monitoring/health.js.map +0 -1
  73. package/dist/monitoring/metrics.d.ts +0 -153
  74. package/dist/monitoring/metrics.d.ts.map +0 -1
  75. package/dist/monitoring/metrics.js +0 -349
  76. package/dist/monitoring/metrics.js.map +0 -1
  77. package/dist/security/rate-limit-middleware.d.ts +0 -119
  78. package/dist/security/rate-limit-middleware.d.ts.map +0 -1
  79. package/dist/security/rate-limit-middleware.js +0 -193
  80. package/dist/security/rate-limit-middleware.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,28 @@ 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.6.0] - 2026-11-03
9
+
10
+ ### Added
11
+
12
+ **Durable hybrid retrieval core** (#3)
13
+ - `src/retrieval/memory-retriever.ts`: SQLite is the canonical store; Redis and Qdrant are rebuildable projections that only nominate candidate IDs
14
+ - `src/retrieval/index-outbox.ts`: canonical writes and derived-index updates commit in one SQLite transaction, with a retryable outbox and startup repair
15
+ - Incremental, idempotent consolidation with per-memory checkpoints
16
+ - Bitemporal memory rows: changes close the previous row and insert a successor instead of deleting history
17
+ - `docs/ARCHITECTURE.md`, `docs/RETRIEVAL_EVALUATION.md`, `docs/MEMORY_RESEARCH_2026.md`
18
+
19
+ ### Changed
20
+ - better-sqlite3 upgraded to ^12 (#1)
21
+ - MCP server logs to stderr only on the stdio path (#2)
22
+ - `vesper install` passes MCP registration values as literal arguments (#7)
23
+ - Added a `vesper-memory` bin alias so `npx vesper-memory install` resolves the CLI (npx needs a bin matching the package name when there is more than one)
24
+ - Dense search uses the Qdrant `query` API so the build works with @qdrant/js-client-rest >= 1.17
25
+
26
+ ### Security
27
+ - Removed committed datastore credential defaults; services are unauthenticated only for the local loopback Compose stack (#8)
28
+ - Removed a local `.claude/mcp_config.json` from the repo; use `.claude/mcp_config.example.json`
29
+
8
30
  ## [0.5.0] - 2026-02-06
9
31
 
10
32
  ### Added
package/README.md CHANGED
@@ -8,7 +8,7 @@ Simple, local memory system for Claude Code. No authentication, no complexity -
8
8
 
9
9
  [![npm version](https://img.shields.io/npm/v/vesper-memory.svg)](https://www.npmjs.com/package/vesper-memory)
10
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-936%2F936-brightgreen)](.)
11
+ [![Test Coverage](https://img.shields.io/badge/tests-1007%2F1007-brightgreen)](.)
12
12
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue)](.)
13
13
  [![License](https://img.shields.io/badge/license-MIT-blue)](.)
14
14
 
@@ -33,7 +33,7 @@ Simple, local memory system for Claude Code. No authentication, no complexity -
33
33
  - Project queries use HippoRAG graph traversal (depth=2)
34
34
  - Complex queries fall back to semantic search with RRF fusion
35
35
 
36
- **936 tests passing** (up from 909 in v0.5.0)
36
+ **1,007 tests passing** (up from 936 in v0.5.4)
37
37
 
38
38
  <details>
39
39
  <summary>v0.5.0 Changes</summary>
@@ -59,7 +59,7 @@ Simple, local memory system for Claude Code. No authentication, no complexity -
59
59
  - `list_namespaces`: Discover all namespaces with counts
60
60
  - `namespace_stats`: Per-namespace breakdown of memories, entities, agents
61
61
 
62
- **936 tests passing** (up from 632 in v0.4.0)
62
+ **1,007 tests passing** (up from 632 in v0.4.0)
63
63
 
64
64
  ---
65
65
 
@@ -740,7 +740,7 @@ You can always explicitly ask Claude to store memories:
740
740
  - **`semantic`**: Facts, preferences, knowledge, decisions
741
741
  - **`procedural`**: Skills, patterns, how-to knowledge
742
742
 
743
- See the [example rules file](https://github.com/fitzypop/vesper/blob/main/.claude/rules/vesper.md) for detailed guidance.
743
+ See the [example rules file](https://github.com/fitz2882/vesper-memory/blob/main/config/claude-rules/vesper.md) for detailed guidance.
744
744
 
745
745
  ---
746
746
 
@@ -808,7 +808,7 @@ vesper/
808
808
 
809
809
  ## 🧪 Test Coverage
810
810
 
811
- **Overall**: 936/936 tests passing (100%)
811
+ **Overall**: 1007/1007 tests passing (100%, 16 skipped integration cases)
812
812
 
813
813
  | Category | Tests | Status |
814
814
  |----------|-------|--------|
@@ -974,7 +974,7 @@ curl http://localhost:6333/collections/memory-vectors
974
974
  - ✅ Simple solutions over complex architectures
975
975
  - ✅ Honest uncertainty over auto-resolved conflicts
976
976
  - ✅ Fast local operation (<1ms P95 latency)
977
- - ✅ Comprehensive testing (936 tests, 100% coverage)
977
+ - ✅ Comprehensive testing (1,007 tests)
978
978
 
979
979
  **What makes this special**:
980
980
  - Three-layer memory architecture with lazy loading
@@ -57,6 +57,7 @@ CREATE TABLE IF NOT EXISTS relationships (
57
57
  evidence TEXT, -- JSON array of conversation IDs supporting this relationship
58
58
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
59
59
  last_reinforced TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
60
+ last_decayed_at TIMESTAMP,
60
61
  last_modified TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
61
62
 
62
63
  -- Access tracking for decay calculation
@@ -272,6 +273,11 @@ CREATE TABLE IF NOT EXISTS memories (
272
273
  importance REAL DEFAULT 0.5,
273
274
  access_count INTEGER DEFAULT 0,
274
275
  last_accessed TIMESTAMP,
276
+ valid_from TIMESTAMP,
277
+ valid_until TIMESTAMP,
278
+ expired_at TIMESTAMP,
279
+ archived_at TIMESTAMP,
280
+ consolidated_at TIMESTAMP,
275
281
  metadata TEXT, -- JSON for extensibility
276
282
 
277
283
  -- Multi-agent namespace isolation (v0.5.0)
@@ -287,6 +293,31 @@ CREATE INDEX IF NOT EXISTS idx_memories_type ON memories(memory_type);
287
293
  CREATE INDEX IF NOT EXISTS idx_memories_created_at ON memories(created_at DESC);
288
294
  CREATE INDEX IF NOT EXISTS idx_memories_agent ON memories(namespace, agent_id);
289
295
  CREATE INDEX IF NOT EXISTS idx_memories_task ON memories(namespace, task_id);
296
+ CREATE INDEX IF NOT EXISTS idx_memories_validity
297
+ ON memories(namespace, valid_from, valid_until, expired_at, archived_at);
298
+
299
+ -- Durable projection repair queue. SQLite commits are canonical; Redis and
300
+ -- Qdrant acknowledge each mutation independently and can be rebuilt/retried.
301
+ CREATE TABLE IF NOT EXISTS index_outbox (
302
+ memory_id TEXT PRIMARY KEY,
303
+ operation TEXT NOT NULL CHECK (operation IN ('upsert', 'delete')),
304
+ namespace TEXT NOT NULL,
305
+ content TEXT,
306
+ memory_type TEXT,
307
+ metadata TEXT,
308
+ agent_id TEXT,
309
+ task_id TEXT,
310
+ created_at INTEGER NOT NULL,
311
+ qdrant_pending INTEGER NOT NULL DEFAULT 1,
312
+ redis_pending INTEGER NOT NULL DEFAULT 1,
313
+ attempts INTEGER NOT NULL DEFAULT 0,
314
+ last_error TEXT,
315
+ revision INTEGER NOT NULL DEFAULT 1,
316
+ updated_at INTEGER NOT NULL
317
+ );
318
+
319
+ CREATE INDEX IF NOT EXISTS idx_index_outbox_pending
320
+ ON index_outbox(qdrant_pending, redis_pending, updated_at);
290
321
 
291
322
  -- ============================================================================
292
323
  -- CONSOLIDATION METADATA TABLE
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Command-line interface for installing and managing Vesper
6
6
  */
7
- import { execSync } from 'child_process';
7
+ import { execFileSync, execSync } from 'child_process';
8
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';
@@ -12,6 +12,7 @@ import { fileURLToPath } from 'url';
12
12
  import { randomBytes } from 'crypto';
13
13
  import { createInterface } from 'readline';
14
14
  import { getSqlitePath, getVesperHome, ensureDirectories } from './utils/paths.js';
15
+ import { registerClaudeMcpServer } from './utils/claude-mcp-config.js';
15
16
  const __filename = fileURLToPath(import.meta.url);
16
17
  const __dirname = dirname(__filename);
17
18
  // Installation directory
@@ -376,7 +377,7 @@ async function configure() {
376
377
  info('Configuring Claude Code MCP integration...');
377
378
  // Check if claude CLI is available
378
379
  try {
379
- execSync('claude --version', { stdio: 'ignore' });
380
+ execFileSync('claude', ['--version'], { stdio: 'ignore' });
380
381
  }
381
382
  catch {
382
383
  error('Claude Code CLI not found in PATH');
@@ -385,62 +386,18 @@ async function configure() {
385
386
  }
386
387
  // Remove old MCP server if it exists (to ensure clean install)
387
388
  try {
388
- execSync('claude mcp remove vesper', { stdio: 'ignore' });
389
+ execFileSync('claude', ['mcp', 'remove', 'vesper'], { stdio: 'ignore' });
389
390
  }
390
391
  catch {
391
392
  // Ignore errors if server doesn't exist
392
393
  }
393
- // Build environment variable flags (use -e for each variable)
394
- const envFlags = [
395
- // Connection settings
396
- `-e REDIS_HOST=${envVars.REDIS_HOST || 'localhost'}`,
397
- `-e REDIS_PORT=${envVars.REDIS_PORT || '6379'}`,
398
- `-e QDRANT_URL=${envVars.QDRANT_URL || 'http://localhost:6333'}`,
399
- `-e SQLITE_DB=${absoluteSqliteDb}`,
400
- `-e EMBEDDING_SERVICE_URL=${envVars.EMBEDDING_SERVICE_URL || 'http://localhost:8000'}`,
401
- // PostgreSQL (optional, for auth)
402
- `-e POSTGRES_HOST=${envVars.POSTGRES_HOST || 'localhost'}`,
403
- `-e POSTGRES_PORT=${envVars.POSTGRES_PORT || '5432'}`,
404
- `-e POSTGRES_DB=${envVars.POSTGRES_DB || 'memory'}`,
405
- `-e POSTGRES_USER=${envVars.POSTGRES_USER || 'postgres'}`,
406
- // Application settings
407
- `-e NODE_ENV=${envVars.NODE_ENV || 'production'}`,
408
- `-e LOG_LEVEL=${envVars.LOG_LEVEL || 'info'}`,
409
- // Authentication (optional)
410
- `-e AUTH_ENABLED=${envVars.AUTH_ENABLED || 'false'}`,
411
- `-e MCP_API_KEY_TIER=${envVars.MCP_API_KEY_TIER || 'standard'}`,
412
- `-e MCP_API_KEY_SCOPES=${envVars.MCP_API_KEY_SCOPES || '*'}`,
413
- // Rate limiting
414
- `-e RATE_LIMIT_DEFAULT_TIER=${envVars.RATE_LIMIT_DEFAULT_TIER || 'standard'}`,
415
- `-e RATE_LIMIT_FAIL_OPEN=${envVars.RATE_LIMIT_FAIL_OPEN || 'false'}`,
416
- ];
417
- // Add password environment variables only if they're set (don't expose empty passwords)
418
- if (envVars.REDIS_PASSWORD) {
419
- envFlags.push(`-e REDIS_PASSWORD=${envVars.REDIS_PASSWORD}`);
420
- }
421
- if (envVars.QDRANT_API_KEY) {
422
- envFlags.push(`-e QDRANT_API_KEY=${envVars.QDRANT_API_KEY}`);
423
- }
424
- if (envVars.POSTGRES_PASSWORD) {
425
- envFlags.push(`-e POSTGRES_PASSWORD=${envVars.POSTGRES_PASSWORD}`);
426
- }
427
- if (envVars.MCP_API_KEY_HASH) {
428
- envFlags.push(`-e MCP_API_KEY_HASH=${envVars.MCP_API_KEY_HASH}`);
429
- }
430
- if (envVars.MCP_API_KEY_USER_ID) {
431
- envFlags.push(`-e MCP_API_KEY_USER_ID=${envVars.MCP_API_KEY_USER_ID}`);
432
- }
433
- // Add Vesper using the proper claude mcp add command
434
- // Note: server name must come FIRST, then options
435
- const command = `claude mcp add vesper --transport stdio --scope user ${envFlags.join(' ')} -- node "${serverPath}"`;
436
394
  try {
437
- execSync(command, { stdio: 'inherit' });
395
+ registerClaudeMcpServer(envVars, absoluteSqliteDb, serverPath);
438
396
  success('MCP server configured successfully');
439
397
  }
440
398
  catch (err) {
441
399
  error('Failed to configure Vesper MCP server');
442
- error(`You can manually configure it later with:`);
443
- error(command);
400
+ error('Correct the configuration and run vesper configure again.');
444
401
  throw err;
445
402
  }
446
403
  log(`\n📍 Server path: ${serverPath}`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,10 @@
4
4
  * Nightly process: working → semantic memory transformation.
5
5
  * Runs at 3 AM, extracts knowledge, applies decay, detects conflicts.
6
6
  */
7
- import { WorkingMemoryLayer } from '../memory-layers/working-memory.js';
8
- import { SemanticMemoryLayer } from '../memory-layers/semantic-memory.js';
9
- import { SkillLibrary } from '../memory-layers/skill-library.js';
10
- import Database from 'better-sqlite3';
7
+ import type { WorkingMemoryLayer } from "../memory-layers/working-memory.js";
8
+ import { SemanticMemoryLayer } from "../memory-layers/semantic-memory.js";
9
+ import { SkillLibrary } from "../memory-layers/skill-library.js";
10
+ import Database from "better-sqlite3";
11
11
  export interface ConsolidationStats {
12
12
  memoriesProcessed: number;
13
13
  entitiesExtracted: number;
@@ -17,17 +17,33 @@ export interface ConsolidationStats {
17
17
  skillsExtracted: number;
18
18
  duration: number;
19
19
  }
20
+ export interface ConsolidationPipelineOptions {
21
+ /** Maximum canonical memories processed by one consolidation run. */
22
+ batchSize?: number;
23
+ /** Override used by tests and installations with a separate backup volume. */
24
+ backupDirectory?: string;
25
+ /** Injectable clock for deterministic decay and retention behavior. */
26
+ now?: () => Date;
27
+ backupRetentionDays?: number;
28
+ }
20
29
  export declare class ConsolidationPipeline {
21
- private workingMemory;
22
30
  private semanticMemory;
23
31
  private skillLibrary;
24
32
  private db;
25
- constructor(workingMemory: WorkingMemoryLayer, semanticMemory: SemanticMemoryLayer, skillLibrary: SkillLibrary, db: Database.Database);
33
+ private readonly batchSize;
34
+ private readonly backupDirectory?;
35
+ private readonly now;
36
+ private readonly backupRetentionDays;
37
+ constructor(workingMemory: WorkingMemoryLayer | undefined, semanticMemory: SemanticMemoryLayer, skillLibrary: SkillLibrary, db: Database.Database, options?: ConsolidationPipelineOptions);
26
38
  /**
27
39
  * Run full consolidation cycle
28
40
  * If namespace is omitted, consolidates all namespaces.
29
41
  */
30
42
  consolidate(namespace?: string): Promise<ConsolidationStats>;
43
+ private ensureDurabilitySchema;
44
+ private getUnconsolidatedMemories;
45
+ private toConsolidationMemory;
46
+ private processMemory;
31
47
  /**
32
48
  * Extract entities and relationships from memory
33
49
  * Simple keyword-based extraction (will enhance with LLM later)
@@ -53,5 +69,8 @@ export declare class ConsolidationPipeline {
53
69
  * Create backup for rollback capability
54
70
  */
55
71
  private createBackup;
72
+ private removeExpiredBackups;
73
+ private tableCount;
74
+ private insertBackupMetadata;
56
75
  }
57
76
  //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/consolidation/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,EAAE,CAAoB;gBAG5B,aAAa,EAAE,kBAAkB,EACjC,cAAc,EAAE,mBAAmB,EACnC,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAQvB;;;OAGG;IACG,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoElE;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiDvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACH,OAAO,CAAC,YAAY;CAiBrB"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/consolidation/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAMtC,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAoBD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;gBAG3C,aAAa,EAAE,kBAAkB,GAAG,SAAS,EAC7C,cAAc,EAAE,mBAAmB,EACnC,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,GAAE,4BAAiC;IAe5C;;;OAGG;IACG,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8ElE,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,qBAAqB;IAmC7B,OAAO,CAAC,aAAa;IAyCrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA+CxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,OAAO,CAAC,eAAe;IA8DvB;;OAEG;IACH,OAAO,CAAC,aAAa;IA2BrB;;OAEG;IACH,OAAO,CAAC,aAAa;IA2BrB;;OAEG;YACW,YAAY;IAuD1B,OAAO,CAAC,oBAAoB;IAoC5B,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,oBAAoB;CAkD7B"}