@traqr/memory 0.2.7 → 0.2.9

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.
@@ -0,0 +1,26 @@
1
+ /**
2
+ * PII Detection Pipeline (TD-714)
3
+ *
4
+ * Scans memory content for personally identifiable information before storage.
5
+ * Auto-classifies and flags memories containing PII.
6
+ *
7
+ * Part of Glasswing Red Alert security infrastructure.
8
+ */
9
+ import type { MemoryClassification } from '../vectordb/types.js';
10
+ export interface PiiDetectionResult {
11
+ containsPii: boolean;
12
+ piiTypes: string[];
13
+ suggestedClassification: MemoryClassification;
14
+ redactedContent?: string;
15
+ }
16
+ /**
17
+ * Detect PII in memory content.
18
+ * Returns detection result with types found and suggested classification.
19
+ */
20
+ export declare function detectPii(content: string): PiiDetectionResult;
21
+ /**
22
+ * Generate a redacted version of content for embedding generation.
23
+ * PII is replaced with type-specific placeholders so semantic meaning is preserved
24
+ * but actual values are not embedded in vector space.
25
+ */
26
+ export declare function redactForEmbedding(content: string): string;
@@ -0,0 +1,85 @@
1
+ /**
2
+ * PII Detection Pipeline (TD-714)
3
+ *
4
+ * Scans memory content for personally identifiable information before storage.
5
+ * Auto-classifies and flags memories containing PII.
6
+ *
7
+ * Part of Glasswing Red Alert security infrastructure.
8
+ */
9
+ // Regex patterns for structured PII
10
+ const PII_PATTERNS = {
11
+ // US phone numbers (various formats)
12
+ phone: /\b(?:\+?1[-.\s]?)?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}\b/g,
13
+ // Email addresses
14
+ email: /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g,
15
+ // SSN (with or without dashes)
16
+ ssn: /\b\d{3}[-\s]?\d{2}[-\s]?\d{4}\b/g,
17
+ // Dollar amounts over $100
18
+ financialAmount: /\$\d{1,3}(?:,\d{3})*(?:\.\d{2})?\b|\$\d{3,}(?:\.\d{2})?\b/g,
19
+ // Physical addresses (basic heuristic: number + street name + type)
20
+ address: /\b\d{1,5}\s+(?:[A-Z][a-z]+\s+){1,3}(?:St|Street|Ave|Avenue|Blvd|Boulevard|Rd|Road|Dr|Drive|Ln|Lane|Ct|Court|Way|Pl|Place)\b/gi,
21
+ // Credit card numbers (basic: 4 groups of 4 digits)
22
+ creditCard: /\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}\b/g,
23
+ };
24
+ // Sensitive topic keywords that suggest restricted classification
25
+ const RESTRICTED_KEYWORDS = [
26
+ 'psychoanalysis', 'addictive personality', 'medication',
27
+ 'therapy', 'mental health', 'diagnosis',
28
+ 'salary', 'compensation', 'ssn', 'social security',
29
+ 'password', 'api key', 'secret key', 'private key',
30
+ ];
31
+ // Confidential topic keywords
32
+ const CONFIDENTIAL_KEYWORDS = [
33
+ 'pipeline', 'revenue', 'pricing', 'client list',
34
+ 'inherited opps', 'discovery call', 'consulting fee',
35
+ 'trust tier', 'foxhole',
36
+ ];
37
+ /**
38
+ * Detect PII in memory content.
39
+ * Returns detection result with types found and suggested classification.
40
+ */
41
+ export function detectPii(content) {
42
+ const piiTypes = [];
43
+ let suggestedClassification = 'internal';
44
+ // Check regex patterns
45
+ for (const [type, pattern] of Object.entries(PII_PATTERNS)) {
46
+ // Reset lastIndex for global regex
47
+ pattern.lastIndex = 0;
48
+ if (pattern.test(content)) {
49
+ piiTypes.push(type);
50
+ }
51
+ }
52
+ // Check restricted keywords
53
+ const contentLower = content.toLowerCase();
54
+ const hasRestricted = RESTRICTED_KEYWORDS.some(kw => contentLower.includes(kw));
55
+ const hasConfidential = CONFIDENTIAL_KEYWORDS.some(kw => contentLower.includes(kw));
56
+ // Determine classification
57
+ if (hasRestricted) {
58
+ suggestedClassification = 'restricted';
59
+ }
60
+ else if (piiTypes.length > 0 || hasConfidential) {
61
+ suggestedClassification = 'confidential';
62
+ }
63
+ return {
64
+ containsPii: piiTypes.length > 0,
65
+ piiTypes,
66
+ suggestedClassification,
67
+ };
68
+ }
69
+ /**
70
+ * Generate a redacted version of content for embedding generation.
71
+ * PII is replaced with type-specific placeholders so semantic meaning is preserved
72
+ * but actual values are not embedded in vector space.
73
+ */
74
+ export function redactForEmbedding(content) {
75
+ let redacted = content;
76
+ // Replace in order of specificity (more specific patterns first)
77
+ redacted = redacted.replace(PII_PATTERNS.creditCard, '[CREDIT_CARD]');
78
+ redacted = redacted.replace(PII_PATTERNS.ssn, '[SSN]');
79
+ redacted = redacted.replace(PII_PATTERNS.phone, '[PHONE]');
80
+ redacted = redacted.replace(PII_PATTERNS.email, '[EMAIL]');
81
+ redacted = redacted.replace(PII_PATTERNS.financialAmount, '[AMOUNT]');
82
+ redacted = redacted.replace(PII_PATTERNS.address, '[ADDRESS]');
83
+ return redacted;
84
+ }
85
+ //# sourceMappingURL=pii-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pii-detection.js","sourceRoot":"","sources":["../../src/lib/pii-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,oCAAoC;AACpC,MAAM,YAAY,GAA2B;IAC3C,qCAAqC;IACrC,KAAK,EAAE,0DAA0D;IACjE,kBAAkB;IAClB,KAAK,EAAE,qDAAqD;IAC5D,+BAA+B;IAC/B,GAAG,EAAE,kCAAkC;IACvC,2BAA2B;IAC3B,eAAe,EAAE,4DAA4D;IAC7E,oEAAoE;IACpE,OAAO,EAAE,+HAA+H;IACxI,oDAAoD;IACpD,UAAU,EAAE,6CAA6C;CAC1D,CAAA;AAED,kEAAkE;AAClE,MAAM,mBAAmB,GAAG;IAC1B,gBAAgB,EAAE,uBAAuB,EAAE,YAAY;IACvD,SAAS,EAAE,eAAe,EAAE,WAAW;IACvC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB;IAClD,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa;CACnD,CAAA;AAED,8BAA8B;AAC9B,MAAM,qBAAqB,GAAG;IAC5B,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa;IAC/C,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB;IACpD,YAAY,EAAE,SAAS;CACxB,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,uBAAuB,GAAyB,UAAU,CAAA;IAE9D,uBAAuB;IACvB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3D,mCAAmC;QACnC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAA;QACrB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IAC1C,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/E,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IAEnF,2BAA2B;IAC3B,IAAI,aAAa,EAAE,CAAC;QAClB,uBAAuB,GAAG,YAAY,CAAA;IACxC,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;QAClD,uBAAuB,GAAG,cAAc,CAAA;IAC1C,CAAC;IAED,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;QAChC,QAAQ;QACR,uBAAuB;KACxB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,QAAQ,GAAG,OAAO,CAAA;IAEtB,iEAAiE;IACjE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;IACrE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC1D,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC1D,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;IACrE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAE9D,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -6,6 +6,8 @@
6
6
  import { Hono } from 'hono';
7
7
  import { searchMemories } from '../lib/memory.js';
8
8
  import { searchMemoriesV2 } from '../lib/retrieval.js';
9
+ const VALID_CLASSIFICATIONS = ['public', 'internal', 'confidential', 'restricted'];
10
+ const VALID_ACCESS_LEVELS = ['exploration', 'standard', 'privileged', 'admin'];
9
11
  const VALID_CATEGORIES = ['gotcha', 'pattern', 'fix', 'insight', 'question', 'preference', 'convention'];
10
12
  const MAX_LIMIT = 50;
11
13
  const DEFAULT_LIMIT = 10;
@@ -61,6 +63,24 @@ app.get('/', async (c) => {
61
63
  // v2: lifecycle filters
62
64
  const latestOnly = c.req.query('latestOnly') !== 'false';
63
65
  const memoryType = c.req.query('memoryType');
66
+ // v3: security filters (Glasswing Red Alert)
67
+ const maxClassificationParam = c.req.query('maxClassification');
68
+ let maxClassification;
69
+ if (maxClassificationParam) {
70
+ if (!VALID_CLASSIFICATIONS.includes(maxClassificationParam)) {
71
+ return c.json({ success: false, error: `maxClassification must be one of: ${VALID_CLASSIFICATIONS.join(', ')}` }, 400);
72
+ }
73
+ maxClassification = maxClassificationParam;
74
+ }
75
+ const accessLevelParam = c.req.query('accessLevel');
76
+ let accessLevel;
77
+ if (accessLevelParam) {
78
+ if (!VALID_ACCESS_LEVELS.includes(accessLevelParam)) {
79
+ return c.json({ success: false, error: `accessLevel must be one of: ${VALID_ACCESS_LEVELS.join(', ')}` }, 400);
80
+ }
81
+ accessLevel = accessLevelParam;
82
+ }
83
+ const clientNamespace = c.req.query('clientNamespace') || undefined;
64
84
  const options = {
65
85
  limit,
66
86
  category,
@@ -73,6 +93,10 @@ app.get('/', async (c) => {
73
93
  includeUniversal: crossProject || !!projectParam,
74
94
  latestOnly,
75
95
  memoryType: memoryType || undefined,
96
+ // Security
97
+ maxClassification,
98
+ accessLevel,
99
+ clientNamespace,
76
100
  };
77
101
  // Fetch more results than requested if domain filter is active (post-filter)
78
102
  const domainParam = c.req.query('domain');
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/routes/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/routes/search.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,9 @@ import { Hono } from 'hono';
7
7
  import { storeMemory } from '../lib/memory.js';
8
8
  import { passesIngestionGate } from '../lib/quality-gate.js';
9
9
  import { deriveAll } from '../lib/auto-derive.js';
10
+ import { detectPii } from '../lib/pii-detection.js';
11
+ import { CLASSIFICATION_RANK } from '../vectordb/types.js';
12
+ const VALID_CLASSIFICATIONS = ['public', 'internal', 'confidential', 'restricted'];
10
13
  const VALID_CATEGORIES = ['gotcha', 'pattern', 'fix', 'insight', 'question', 'preference', 'convention'];
11
14
  const VALID_SOURCE_TYPES = ['pr', 'manual', 'extracted', 'bootstrap', 'advisor_session', 'plan', 'web_research', 'session', 'codebase_analysis'];
12
15
  const VALID_DURABILITIES = ['permanent', 'temporary', 'session'];
@@ -46,6 +49,13 @@ app.post('/', async (c) => {
46
49
  return c.json({ success: false, error: 'expiresAt must be a valid ISO date string' }, 400);
47
50
  }
48
51
  }
52
+ // PII detection — auto-classify before storage (TD-714)
53
+ const piiResult = detectPii(body.content.trim());
54
+ const requestedClassification = (VALID_CLASSIFICATIONS.includes(body.classification) ? body.classification : 'internal');
55
+ // PII detection can ELEVATE classification but never lower it
56
+ const finalClassification = CLASSIFICATION_RANK[piiResult.suggestedClassification] > CLASSIFICATION_RANK[requestedClassification]
57
+ ? piiResult.suggestedClassification
58
+ : requestedClassification;
49
59
  // Auto-derive missing fields from content
50
60
  const content = body.content.trim();
51
61
  const derived = deriveAll(content, {
@@ -75,6 +85,10 @@ app.post('/', async (c) => {
75
85
  topic: derived.topic,
76
86
  memoryType: derived.memoryType,
77
87
  sourceTool: derived.sourceTool,
88
+ // v3: Security classification (Glasswing Red Alert)
89
+ classification: finalClassification,
90
+ clientNamespace: body.clientNamespace?.trim() || undefined,
91
+ containsPii: piiResult.containsPii || body.containsPii || false,
78
92
  };
79
93
  const memory = await storeMemory(input);
80
94
  return c.json({ success: true, memory });
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/routes/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/routes/store.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,9 @@ export interface MemoryRow {
48
48
  forgotten_at?: string | null;
49
49
  forget_after?: string | null;
50
50
  source_tool?: string | null;
51
+ classification?: string | null;
52
+ client_namespace?: string | null;
53
+ contains_pii?: boolean | null;
51
54
  }
52
55
  export interface SearchResultRow extends MemoryRow {
53
56
  current_confidence: number;
@@ -44,6 +44,10 @@ export function rowToMemory(row) {
44
44
  forgottenAt: row.forgotten_at ? new Date(row.forgotten_at) : undefined,
45
45
  forgetAfter: row.forget_after ? new Date(row.forget_after) : undefined,
46
46
  sourceTool: row.source_tool ?? undefined,
47
+ // v3: Security classification
48
+ classification: row.classification ?? 'internal',
49
+ clientNamespace: row.client_namespace ?? undefined,
50
+ containsPii: row.contains_pii ?? false,
47
51
  };
48
52
  }
49
53
  export function rowToSearchResult(row) {
@@ -1 +1 @@
1
- {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/vectordb/converters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/vectordb/converters.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { VectorDBProvider, Memory, MemoryInput, MemorySearchResult, MemoryUpdate, MemoryExport, MemoryDomain, SearchOptions, BrowseResult, BM25SearchResult, TemporalSearchResult, GraphSearchResult } from './types.js';
8
8
  export declare class SupabaseVectorProvider implements VectorDBProvider {
9
+ private auditLog;
9
10
  store(input: MemoryInput, domainId?: string): Promise<Memory>;
10
11
  search(query: string, options?: SearchOptions & {
11
12
  precomputedEmbedding?: string;
@@ -8,7 +8,28 @@
8
8
  import { getMemoryClient, getUserId, getProjectId, getTableName } from '../lib/client.js';
9
9
  import { generateEmbedding, formatEmbeddingForPgVector } from '../lib/embeddings.js';
10
10
  import { rowToMemory, rowToSearchResult } from './converters.js';
11
+ import { ACCESS_LEVEL_MAX_CLASSIFICATION } from './types.js';
11
12
  export class SupabaseVectorProvider {
13
+ // Audit logging — fire-and-forget, never blocks the operation
14
+ async auditLog(operation, opts = {}) {
15
+ try {
16
+ const client = getMemoryClient();
17
+ await client.rpc('log_memory_operation', {
18
+ p_operation: operation,
19
+ p_agent_id: opts.agentId || process.env.TRAQR_SLOT_NAME || null,
20
+ p_session_id: process.env.TRAQR_SESSION_ID || null,
21
+ p_query_text: opts.queryText || null,
22
+ p_memory_ids: opts.memoryIds || null,
23
+ p_result_count: opts.resultCount || 0,
24
+ p_client_namespace: opts.clientNamespace || null,
25
+ p_classification_level: opts.classificationLevel || null,
26
+ p_access_level: opts.accessLevel || null,
27
+ });
28
+ }
29
+ catch {
30
+ // Audit logging must NEVER block operations
31
+ }
32
+ }
12
33
  async store(input, domainId) {
13
34
  const client = getMemoryClient();
14
35
  const projectId = domainId || getProjectId();
@@ -56,6 +77,10 @@ export class SupabaseVectorProvider {
56
77
  forget_after: input.forgetAfter ? input.forgetAfter.toISOString() : null,
57
78
  is_latest: true,
58
79
  is_forgotten: false,
80
+ // v3: Security classification (Glasswing Red Alert)
81
+ classification: input.classification || 'internal',
82
+ client_namespace: input.clientNamespace || null,
83
+ contains_pii: input.containsPii || false,
59
84
  };
60
85
  const { data, error } = await client
61
86
  .from(getTableName())
@@ -66,7 +91,13 @@ export class SupabaseVectorProvider {
66
91
  console.error('[VectorDB] Error storing memory:', error);
67
92
  throw new Error(`Failed to store memory: ${error.message}`);
68
93
  }
69
- return rowToMemory(data);
94
+ const memory = rowToMemory(data);
95
+ this.auditLog('store', {
96
+ memoryIds: [memory.id],
97
+ clientNamespace: input.clientNamespace,
98
+ classificationLevel: input.classification || 'internal',
99
+ });
100
+ return memory;
70
101
  }
71
102
  async search(query, options = {}) {
72
103
  const client = getMemoryClient();
@@ -92,6 +123,9 @@ export class SupabaseVectorProvider {
92
123
  return (data || []).map((row) => rowToSearchResult(row));
93
124
  }
94
125
  }
126
+ // Resolve access level to max classification
127
+ const maxClassification = options.maxClassification
128
+ || (options.accessLevel ? ACCESS_LEVEL_MAX_CLASSIFICATION[options.accessLevel] : 'restricted');
95
129
  const { data, error } = await client.rpc('search_memories', {
96
130
  p_query_embedding: embeddingStr,
97
131
  p_project_id: options.domainId || null,
@@ -101,12 +135,24 @@ export class SupabaseVectorProvider {
101
135
  p_limit: options.limit || 10,
102
136
  p_similarity_threshold: options.similarityThreshold || 0.3,
103
137
  p_latest_only: options.latestOnly ?? true,
138
+ // Security parameters
139
+ p_max_classification: maxClassification,
140
+ p_client_namespace: options.clientNamespace || null,
104
141
  });
105
142
  if (error) {
106
143
  console.error('[VectorDB] Error searching memories:', error);
107
144
  throw new Error(`Failed to search memories: ${error.message}`);
108
145
  }
109
- return (data || []).map((row) => rowToSearchResult(row));
146
+ const results = (data || []).map((row) => rowToSearchResult(row));
147
+ this.auditLog('search', {
148
+ queryText: query,
149
+ memoryIds: results.map((r) => r.id),
150
+ resultCount: results.length,
151
+ clientNamespace: options.clientNamespace,
152
+ classificationLevel: maxClassification,
153
+ accessLevel: options.accessLevel,
154
+ });
155
+ return results;
110
156
  }
111
157
  async getById(id) {
112
158
  const client = getMemoryClient();
@@ -121,6 +167,7 @@ export class SupabaseVectorProvider {
121
167
  console.error('[VectorDB] Error getting memory:', error);
122
168
  throw new Error(`Failed to get memory: ${error.message}`);
123
169
  }
170
+ this.auditLog('read', { memoryIds: [id], resultCount: 1 });
124
171
  return rowToMemory(data);
125
172
  }
126
173
  async update(id, updates) {
@@ -245,6 +292,7 @@ export class SupabaseVectorProvider {
245
292
  console.error('[VectorDB] Error archiving memory:', error);
246
293
  throw new Error(`Failed to archive memory: ${error.message}`);
247
294
  }
295
+ this.auditLog('archive', { memoryIds: [id] });
248
296
  return rowToMemory(data);
249
297
  }
250
298
  async unarchive(id) {
@@ -682,6 +730,7 @@ export class SupabaseVectorProvider {
682
730
  .eq('id', id);
683
731
  if (error)
684
732
  throw new Error(error.message);
733
+ this.auditLog('forget', { memoryIds: [id] });
685
734
  }
686
735
  async createRelationship(sourceId, targetId, edgeType, metadata = {}) {
687
736
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../src/vectordb/supabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../src/vectordb/supabase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,uDAAuD;AAEvD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACzF,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACpF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAkBhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAE5D,MAAM,OAAO,sBAAsB;IACjC,8DAA8D;IACtD,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,OAGtC,EAAE;QACJ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;YAChC,MAAO,MAAM,CAAC,GAAW,CAAC,sBAAsB,EAAE;gBAChD,WAAW,EAAE,SAAS;gBACtB,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI;gBAC/D,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI;gBAClD,YAAY,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;gBACpC,YAAY,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;gBACpC,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;gBACrC,kBAAkB,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;gBAChD,sBAAsB,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI;gBACxD,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;aACzC,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAkB,EAAE,QAAiB;QAC/C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,SAAS,GAAG,QAAQ,IAAI,YAAY,EAAE,CAAA;QAE5C,qFAAqF;QACrF,IAAI,YAAoB,CAAA;QACxB,IAAI,cAAc,GAAG,wBAAwB,CAAA;QAC7C,IAAI,qBAAqB,GAAG,GAAG,CAAA;QAC/B,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC/B,YAAY,GAAG,KAAK,CAAC,oBAAoB,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrD,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC3D,cAAc,GAAG,MAAM,CAAC,KAAK,CAAA;YAC7B,qBAAqB,GAAG,MAAM,CAAC,YAAY,CAAA;QAC7C,CAAC;QAED,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,SAAS,EAAE;YACpB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YACrC,SAAS,EAAE,YAAY;YACvB,eAAe,EAAE,cAAc;YAC/B,uBAAuB,EAAE,qBAAqB;YAC9C,WAAW,EAAE,KAAK,CAAC,UAAU;YAC7B,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,cAAc,EAAE,KAAK,CAAC,aAAa,IAAI,SAAS;YAChD,mBAAmB,EAAE,KAAK,CAAC,UAAU,IAAI,GAAG;YAC5C,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;YACjC,gBAAgB,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK;YAChD,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK;YACxC,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YACnC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,WAAW;YAC3C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YAClE,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;YAC1B,uBAAuB;YACvB,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;YACrC,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;YACrC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAChF,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YACxE,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,KAAK;YACnB,oDAAoD;YACpD,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,UAAU;YAClD,gBAAgB,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI;YAC/C,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK;SACzC,CAAA;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAClC,IAAI,CAAC,YAAY,EAAE,CAAS;aAC5B,MAAM,CAAC,UAAU,CAAC;aAClB,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAA;YACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,IAAiB,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACrB,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,mBAAmB,EAAE,KAAK,CAAC,cAAc,IAAI,UAAU;SACxD,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,UAA6D,EAAE;QACzF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,MAAM,YAAY,GAAG,OAAO,CAAC,oBAAoB;eAC5C,0BAA0B,CAAC,CAAC,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAE3E,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,GAAW,CAAC,+BAA+B,EAAE;gBACjF,iBAAiB,EAAE,YAAY;gBAC/B,YAAY,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;gBACtC,gBAAgB,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;gBAC/C,UAAU,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;gBACpC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;gBAC5B,kBAAkB,EAAE,OAAO,CAAC,eAAe,IAAI,KAAK;gBACpD,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI;gBACpD,YAAY,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;gBACvC,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC5B,sBAAsB,EAAE,OAAO,CAAC,mBAAmB,IAAI,GAAG;aAC3D,CAAC,CAAA;YAEF,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,KAAK,CAAC,CAAA;YAC9E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,iBAAiB,GAAyB,OAAO,CAAC,iBAAiB;eACpE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,+BAA+B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QAEhG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,GAAW,CAAC,iBAAiB,EAAE;YACnE,iBAAiB,EAAE,YAAY;YAC/B,YAAY,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YACtC,UAAU,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YACpC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC5B,kBAAkB,EAAE,OAAO,CAAC,eAAe,IAAI,KAAK;YACpD,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC5B,sBAAsB,EAAE,OAAO,CAAC,mBAAmB,IAAI,GAAG;YAC1D,aAAa,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACzC,sBAAsB;YACtB,oBAAoB,EAAE,iBAAiB;YACvC,kBAAkB,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;SACpD,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;YAC5D,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;QAClF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,mBAAmB,EAAE,iBAAiB;YACtC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAClC,IAAI,CAAC,YAAY,EAAE,CAAS;aAC5B,MAAM,EAAE;aACR,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;aACZ,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAA;YAC1C,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAA;YACxD,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAA;QAC1D,OAAO,WAAW,CAAC,IAAiB,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAqB;QAC5C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,UAAU,GAA4B;YAC1C,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAA;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;YACpC,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAChE,UAAU,CAAC,SAAS,GAAG,0BAA0B,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC5E,UAAU,CAAC,eAAe,GAAG,eAAe,CAAC,KAAK,CAAA;YAClD,UAAU,CAAC,uBAAuB,GAAG,eAAe,CAAC,YAAY,CAAA;QACnE,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QACvE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QAC9D,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAA;QACpF,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,UAAU,CAAC,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAA;QACzF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAA;QAC9E,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YAAE,UAAU,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAA;QAEhG,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3D,MAAO,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAS,CAAC,MAAM,CAAC;gBACxD,SAAS,EAAE,EAAE;gBACb,gBAAgB,EAAE,OAAO,CAAC,OAAO;gBACjC,mBAAmB,EAAE,OAAO,CAAC,kBAAkB;gBAC/C,aAAa,EAAE,OAAO,CAAC,YAAY,IAAI,iBAAiB;aACzD,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAClC,IAAI,CAAC,YAAY,EAAE,CAAS;aAC5B,MAAM,CAAC,UAAU,CAAC;aAClB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;YACzD,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9D,CAAC;QAED,OAAO,WAAW,CAAC,IAAiB,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAC5B,IAAI,CAAC,YAAY,EAAE,CAAS;aAC5B,MAAM,EAAE;aACR,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAEf,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;YACzD,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAClC,IAAI,CAAC,YAAY,EAAE,CAAS;aAC5B,MAAM,CAAC;YACN,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACxC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;aACD,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAA;YAC3D,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,WAAW,CAAC,IAAiB,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAC5B,IAAI,CAAC,YAAY,EAAE,CAAS;aAC5B,MAAM,CAAC;YACN,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;aACD,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACf,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAC5B,IAAI,CAAC,YAAY,EAAE,CAAS;aAC5B,MAAM,CAAC;YACN,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;aACD,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACf,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAAe;QACvC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAClC,IAAI,CAAC,YAAY,EAAE,CAAS;aAC5B,MAAM,CAAC;YACN,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,cAAc,EAAE,MAAM,IAAI,QAAQ;YAClC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;aACD,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;YAC1D,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC7C,OAAO,WAAW,CAAC,IAAiB,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAClC,IAAI,CAAC,YAAY,EAAE,CAAS;aAC5B,MAAM,CAAC;YACN,WAAW,EAAE,KAAK;YAClB,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;aACD,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;YAC5D,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACjE,CAAC;QAED,OAAO,WAAW,CAAC,IAAiB,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAiB;QAC/B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,IAAI,KAAK,GAAI,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAE5D,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAA;QAEnC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;YAC5D,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YACjC,QAAQ,EAAE,GAAG,CAAC,QAAsC;YACpD,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;YACpB,WAAW,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;YACnC,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;YACtC,aAAa,EAAE,GAAG,CAAC,cAAc;YACjC,kBAAkB,EAAE,GAAG,CAAC,mBAAmB;YAC3C,aAAa,EAAE,GAAG,CAAC,cAAc;YACjC,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;YAC/B,eAAe,EAAE,GAAG,CAAC,gBAAgB;YACrC,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;YAC9C,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;YACtC,cAAc,EAAE,GAAG,CAAC,eAAe;YACnC,qBAAqB,EAAE,GAAG,CAAC,uBAAuB;YAClD,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAwB,EAAE,QAAgB;QACzD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,MAAM,UAAU,GAAG,EAAE,CAAA;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAA;YAE/C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAC7C,CAAA;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC7C,OAAO,EAAE,SAAS,EAAE;gBACpB,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,YAAY,EAAE,MAAM,CAAC,WAAW;gBAChC,SAAS,EAAE,0BAA0B,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;gBAChE,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK;gBACtC,uBAAuB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,YAAY;gBACrD,WAAW,EAAE,MAAM,CAAC,UAAU;gBAC9B,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,cAAc,EAAE,MAAM,CAAC,aAAa;gBACpC,mBAAmB,EAAE,MAAM,CAAC,kBAAkB;gBAC9C,cAAc,EAAE,MAAM,CAAC,aAAa;gBACpC,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,gBAAgB,EAAE,MAAM,CAAC,eAAe;gBACxC,WAAW,EAAE,MAAM,CAAC,UAAU;gBAC9B,cAAc,EAAE,MAAM,CAAC,aAAa;gBACpC,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC,CAAA;YAEH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAE/E,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,GAAG,UAAU,GAAG,EAAE,KAAK,CAAC,CAAA;YAC7E,CAAC;iBAAM,CAAC;gBACN,aAAa,IAAI,KAAK,CAAC,MAAM,CAAA;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,WAAoB,EAAE,MAAe;QACpE,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAClC,IAAI,CAAC,gBAAgB,CAAS;aAC9B,MAAM,CAAC;YACN,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE;YAC9B,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;YACpD,WAAW;YACX,SAAS,EAAE,IAAI;SAChB,CAAC;aACD,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;YACzD,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9D,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;YAC1C,WAAW,EAAE,IAAI,CAAC,SAAS;YAC3B,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YACpC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;SACxC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAClC,IAAI,CAAC,gBAAgB,CAAS;aAC9B,MAAM,EAAE;aACR,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;aAC1D,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAA;YAC1C,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAA;YACxD,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;YAC1C,WAAW,EAAE,IAAI,CAAC,SAAS;YAC3B,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YACpC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;SACxC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAEhC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM;aAClC,IAAI,CAAC,gBAAgB,CAAS;aAC9B,MAAM,EAAE;aACR,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;aACxB,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAA;YAChE,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACnE,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;YAC1C,WAAW,EAAE,IAAI,CAAC,SAAS;YAC3B,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YACpC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;SACxC,CAAA;IACH,CAAC;IAED,+DAA+D;IAC/D,+DAA+D;IAC/D,+DAA+D;IAE/D,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,OAGnC;QACC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,GAAW,CAAC,aAAa,EAAE;YAC/D,YAAY,EAAE,SAAS;YACvB,YAAY,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;YACxC,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;YACjC,UAAU,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;YACrC,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;YAC7B,WAAW,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;SACvC,CAAC,CAAA;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;YACrD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YACjC,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;YAC/B,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;YACnC,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;SACzC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,SAAe,EAAE,OAAa,EAAE,OAEnE;QACC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,YAAY,GAAG,OAAO,EAAE,oBAAoB;eAC7C,0BAA0B,CAAC,CAAC,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC3E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,GAAW,CAAC,iBAAiB,EAAE;YACnE,iBAAiB,EAAE,YAAY;YAC/B,YAAY,EAAE,SAAS,CAAC,WAAW,EAAE;YACrC,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE;YACjC,YAAY,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;YACxC,sBAAsB,EAAE,OAAO,EAAE,mBAAmB,IAAI,GAAG;YAC3D,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;SAC9B,CAAC,CAAA;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;YACzD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YACjC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,iBAAiB,EAAE,GAAG,CAAC,kBAAkB;YACzC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;SAChC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAiB,EAAE,OAEpC;QACC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,GAAW,CAAC,cAAc,EAAE;YAChE,UAAU,EAAE,OAAO;YACnB,YAAY,EAAE,OAAO,EAAE,SAAS,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;YAChF,WAAW,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;SAC9B,CAAC,CAAA;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;YACtD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YACjC,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC,CAAC,CAAA;IACL,CAAC;IAED,+DAA+D;IAC/D,oBAAoB;IACpB,+DAA+D;IAE/D,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,UAAkB;QACrD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAS;aAClE,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;aAC1B,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;aAC7B,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;aACxB,KAAK,CAAC,CAAC,CAAC;aACR,WAAW,EAAE,CAAA;QAChB,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAY,EAAE,UAAkB;QAC1D,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAS;aAClE,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;aAC1B,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;aAC1D,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;aAC7B,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;aACxB,KAAK,CAAC,CAAC,CAAC;aACR,WAAW,EAAE,CAAA;QAChB,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,YAAoB,EAAE,UAAkB,EAAE,YAAoB,IAAI;QAC5F,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,GAAW,CAAC,iBAAiB,EAAE;YACnE,WAAW,EAAE,YAAY;YACzB,SAAS,EAAE,SAAS,EAAE;YACtB,aAAa,EAAE,UAAU;YACzB,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,CAAC;SACX,CAAC,CAAA;QACF,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACpD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAElB;QACC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAS;aAClE,MAAM,CAAC;YACN,OAAO,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;YACnC,cAAc,EAAE,CAAC;YACjB,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACvC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC,CAAC;aACD,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QACX,IAAI,KAAK,EAAE,CAAC;YACV,0EAA0E;YAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YAC9D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YAChE,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QAC5C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,4CAA4C;QAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAS;aAC3D,MAAM,CAAC,gBAAgB,CAAC;aACxB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;aAClB,MAAM,EAAE,CAAA;QACX,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAChD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAS;aAC5D,MAAM,CAAC;YACN,cAAc,EAAE,QAAQ;YACxB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC,CAAC;aACD,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACrB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAgB,EAAE,QAAgB,EAAE,OAAe,UAAU;QACpF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAS;aAChE,MAAM,CAAC;YACN,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,QAAQ;YACnB,IAAI;SACL,CAAC,CAAA;QACJ,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,yBAAyB;YAC9D,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAe;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC3E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAS;aAClE,MAAM,CAAC,UAAU,CAAC;aAClB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;aAC1B,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;aACxB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA,CAAC,iCAAiC;QAC3D,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,oDAAoD;YACpD,MAAM,OAAO,GAAmC,EAAE,CAAA;YAClD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,+BAA+B;gBAC3E,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAS;qBAC9D,MAAM,CAAC,UAAU,CAAC;qBAClB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;qBAC1B,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;qBACxB,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;qBACnB,KAAK,CAAC,CAAC,CAAC;qBACR,WAAW,EAAE,CAAA;gBAChB,IAAI,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YACjD,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,oDAAoD;QACpD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAS;aAClE,MAAM,CAAC,IAAI,CAAC;aACZ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;aAC1B,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QAC3B,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAA;QAE7B,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAS;iBAChE,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;iBAC3C,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;YAC7B,IAAI,KAAK,KAAK,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAa;QACjC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QAC9B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAS;aAC5D,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;aAC7B,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAChB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACnE,OAAO,CAAC,CAAA;QACV,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,+DAA+D;IAC/D,2DAA2D;IAC3D,+DAA+D;IAE/D,KAAK,CAAC,MAAM,CAAC,OAAgE;QAC3E,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,IAAI,KAAK,GAAI,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAS;aAC7C,MAAM,CAAC,wCAAwC,CAAC;aAChD,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;aACxB,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;QAE5B,IAAI,OAAO,EAAE,MAAM;YAAE,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAC/D,IAAI,OAAO,EAAE,QAAQ;YAAE,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QACrE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAEnF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAA;QACnC,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;YAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;SAChC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAS;aACzD,MAAM,CAAC;YACN,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;aACD,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACf,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAgB,EAAE,QAAgB,EAAE,QAAgB,EACpD,WAAoC,EAAE;QAEtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;YAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAS;iBACvE,MAAM,CAAC;gBACN,gBAAgB,EAAE,QAAQ;gBAC1B,gBAAgB,EAAE,QAAQ;gBAC1B,SAAS,EAAE,QAAQ;gBACnB,QAAQ;aACT,CAAC;iBACD,MAAM,CAAC,IAAI,CAAC;iBACZ,MAAM,EAAE,CAAA;YACX,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAAE,OAAO,IAAI,CAAA,CAAC,YAAY;gBACpD,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBACnE,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,IAAI,EAAE,EAAE,IAAI,IAAI,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY,EAAE,MAAc;QACpD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,GAAW,CAAC,uBAAuB,EAAE;YACzE,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,MAAM;SAClB,CAAC,CAAA;QACF,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,CAAA;QAC1D,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;YAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAS;iBACjE,MAAM,CAAC,SAAS,CAAC;iBACjB,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;iBACtC,KAAK,CAAC,CAAC,CAAC;iBACR,WAAW,EAAE,CAAA;YAChB,IAAI,KAAK,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;YAChC,wDAAwD;YACxD,mEAAmE;YACnE,gEAAgE;YAChE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAO,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACpF,OAAO,CAAC,KAAK,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;CACF"}
@@ -8,6 +8,10 @@
8
8
  export type MemoryCategory = 'gotcha' | 'pattern' | 'fix' | 'insight' | 'question' | 'preference' | 'convention';
9
9
  export type MemorySourceType = 'pr' | 'manual' | 'extracted' | 'bootstrap' | 'advisor_session' | 'plan' | 'web_research' | 'session' | 'codebase_analysis';
10
10
  export type MemoryDurability = 'permanent' | 'temporary' | 'session';
11
+ export type MemoryClassification = 'public' | 'internal' | 'confidential' | 'restricted';
12
+ export type MemoryAccessLevel = 'exploration' | 'standard' | 'privileged' | 'admin';
13
+ export declare const CLASSIFICATION_RANK: Record<MemoryClassification, number>;
14
+ export declare const ACCESS_LEVEL_MAX_CLASSIFICATION: Record<MemoryAccessLevel, MemoryClassification>;
11
15
  export type MemoryType = 'fact' | 'preference' | 'pattern';
12
16
  export interface MemoryInput {
13
17
  content: string;
@@ -33,6 +37,9 @@ export interface MemoryInput {
33
37
  sourceTool?: string;
34
38
  sourceReliability?: 'direct-user' | 'deliberate-store' | 'granola-single' | 'granola-multi' | 'inferred' | 'auto-derived';
35
39
  precomputedEmbedding?: string;
40
+ classification?: MemoryClassification;
41
+ clientNamespace?: string;
42
+ containsPii?: boolean;
36
43
  }
37
44
  export interface Memory {
38
45
  id: string;
@@ -73,6 +80,9 @@ export interface Memory {
73
80
  forgottenAt?: Date;
74
81
  forgetAfter?: Date;
75
82
  sourceTool?: string;
83
+ classification?: MemoryClassification;
84
+ clientNamespace?: string;
85
+ containsPii?: boolean;
76
86
  }
77
87
  export interface MemorySearchResult extends Memory {
78
88
  currentConfidence: number;
@@ -118,6 +128,9 @@ export interface SearchOptions {
118
128
  agentType?: string;
119
129
  latestOnly?: boolean;
120
130
  memoryType?: MemoryType;
131
+ maxClassification?: MemoryClassification;
132
+ clientNamespace?: string;
133
+ accessLevel?: MemoryAccessLevel;
121
134
  }
122
135
  export interface MemoryUpdate {
123
136
  content?: string;
@@ -5,6 +5,20 @@
5
5
  * These types are designed to be portable across different vector databases
6
6
  * (Supabase pgvector, Pinecone, Qdrant, etc.)
7
7
  */
8
+ // Classification rank for comparison (higher = more sensitive)
9
+ export const CLASSIFICATION_RANK = {
10
+ public: 1,
11
+ internal: 2,
12
+ confidential: 3,
13
+ restricted: 4,
14
+ };
15
+ // Access level to max classification mapping
16
+ export const ACCESS_LEVEL_MAX_CLASSIFICATION = {
17
+ exploration: 'internal', // /bethesda, default — public + internal only
18
+ standard: 'confidential', // /consultant, /lore — + confidential with namespace
19
+ privileged: 'restricted', // /call — can see restricted (raw transcripts)
20
+ admin: 'restricted', // /cos — full cross-namespace visibility
21
+ };
8
22
  // Bootstrap confidence levels
9
23
  export const BOOTSTRAP_CONFIDENCE = {
10
24
  WHATS_WORKED: 0.9,
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vectordb/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqTH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,GAAG;IACvB,WAAW,EAAE,GAAG;IAChB,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,GAAG;IACnB,MAAM,EAAE,GAAG;IACX,EAAE,EAAE,GAAG;CACC,CAAA;AAEV,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,qBAAqB,EAAE,GAAG,EAAG,kCAAkC;IAC/D,YAAY,EAAE,GAAG,EAAY,wCAAwC;IACrE,cAAc,EAAE,GAAG,EAAU,uBAAuB;IACpD,eAAe,EAAE,IAAI,EAAQ,6BAA6B;IAC1D,iBAAiB,EAAE,GAAG;IACtB,KAAK,EAAE,GAAG;IACV,kBAAkB,EAAE,EAAE,EAAO,4CAA4C;CACjE,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vectordb/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAyC;IACvE,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;IACX,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,CAAC;CACd,CAAA;AAED,6CAA6C;AAC7C,MAAM,CAAC,MAAM,+BAA+B,GAAoD;IAC9F,WAAW,EAAE,UAAU,EAAM,8CAA8C;IAC3E,QAAQ,EAAE,cAAc,EAAK,qDAAqD;IAClF,UAAU,EAAE,YAAY,EAAK,+CAA+C;IAC5E,KAAK,EAAE,YAAY,EAAU,yCAAyC;CACvE,CAAA;AAwSD,8BAA8B;AAC9B,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,GAAG;IACvB,WAAW,EAAE,GAAG;IAChB,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,GAAG;IACnB,MAAM,EAAE,GAAG;IACX,EAAE,EAAE,GAAG;CACC,CAAA;AAEV,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,qBAAqB,EAAE,GAAG,EAAG,kCAAkC;IAC/D,YAAY,EAAE,GAAG,EAAY,wCAAwC;IACrE,cAAc,EAAE,GAAG,EAAU,uBAAuB;IACpD,eAAe,EAAE,IAAI,EAAQ,6BAA6B;IAC1D,iBAAiB,EAAE,GAAG;IACtB,KAAK,EAAE,GAAG;IACV,kBAAkB,EAAE,EAAE,EAAO,4CAA4C;CACjE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@traqr/memory",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "Persistent memory for AI agents. Multi-strategy retrieval (semantic + BM25 + RRF), 3-zone cosine triage, type-aware lifecycle, entity canonicalization. Postgres + pgvector.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/setup.sql CHANGED
@@ -751,9 +751,14 @@ LANGUAGE plpgsql AS $$
751
751
  DECLARE
752
752
  tsquery_en tsquery;
753
753
  tsquery_simple tsquery;
754
+ or_query TEXT;
754
755
  BEGIN
755
- tsquery_en := plainto_tsquery('english', p_query_text);
756
- tsquery_simple := plainto_tsquery('simple', p_query_text);
756
+ -- Split query words into OR terms for better recall.
757
+ -- "engagement ring proposal" -> "engagement | ring | proposal"
758
+ -- ts_rank_cd naturally ranks docs with MORE matching terms higher.
759
+ or_query := regexp_replace(trim(p_query_text), '\s+', ' | ', 'g');
760
+ tsquery_en := to_tsquery('english', or_query);
761
+ tsquery_simple := to_tsquery('simple', or_query);
757
762
 
758
763
  RETURN QUERY
759
764
  SELECT