bikky 0.3.5 → 0.3.6

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 (141) hide show
  1. package/README.md +11 -4
  2. package/dist/cli.js +26 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.d.ts +21 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +249 -2
  7. package/dist/config.js.map +1 -1
  8. package/dist/config.test.js +84 -1
  9. package/dist/config.test.js.map +1 -1
  10. package/dist/daemon/consolidation.d.ts +4 -1
  11. package/dist/daemon/consolidation.d.ts.map +1 -1
  12. package/dist/daemon/consolidation.js +18 -4
  13. package/dist/daemon/consolidation.js.map +1 -1
  14. package/dist/daemon/entity-typing.d.ts +33 -11
  15. package/dist/daemon/entity-typing.d.ts.map +1 -1
  16. package/dist/daemon/entity-typing.js +203 -74
  17. package/dist/daemon/entity-typing.js.map +1 -1
  18. package/dist/daemon/entity-typing.test.d.ts +2 -0
  19. package/dist/daemon/entity-typing.test.d.ts.map +1 -0
  20. package/dist/daemon/entity-typing.test.js +50 -0
  21. package/dist/daemon/entity-typing.test.js.map +1 -0
  22. package/dist/daemon/episode-summary.d.ts +1 -8
  23. package/dist/daemon/episode-summary.d.ts.map +1 -1
  24. package/dist/daemon/episode-summary.js +33 -16
  25. package/dist/daemon/episode-summary.js.map +1 -1
  26. package/dist/daemon/episode-summary.test.js +6 -3
  27. package/dist/daemon/episode-summary.test.js.map +1 -1
  28. package/dist/daemon/extraction.d.ts.map +1 -1
  29. package/dist/daemon/extraction.js +14 -5
  30. package/dist/daemon/extraction.js.map +1 -1
  31. package/dist/daemon/loop.d.ts.map +1 -1
  32. package/dist/daemon/loop.js +9 -1
  33. package/dist/daemon/loop.js.map +1 -1
  34. package/dist/daemon/loop.test.d.ts +2 -0
  35. package/dist/daemon/loop.test.d.ts.map +1 -0
  36. package/dist/daemon/loop.test.js +85 -0
  37. package/dist/daemon/loop.test.js.map +1 -0
  38. package/dist/daemon/maintenance-state.d.ts +36 -0
  39. package/dist/daemon/maintenance-state.d.ts.map +1 -0
  40. package/dist/daemon/maintenance-state.js +95 -0
  41. package/dist/daemon/maintenance-state.js.map +1 -0
  42. package/dist/daemon/maintenance-state.test.d.ts +2 -0
  43. package/dist/daemon/maintenance-state.test.d.ts.map +1 -0
  44. package/dist/daemon/maintenance-state.test.js +56 -0
  45. package/dist/daemon/maintenance-state.test.js.map +1 -0
  46. package/dist/daemon/qdrant.d.ts +22 -0
  47. package/dist/daemon/qdrant.d.ts.map +1 -1
  48. package/dist/daemon/qdrant.js +62 -10
  49. package/dist/daemon/qdrant.js.map +1 -1
  50. package/dist/daemon/qdrant.test.js +57 -1
  51. package/dist/daemon/qdrant.test.js.map +1 -1
  52. package/dist/daemon/relations.d.ts +47 -34
  53. package/dist/daemon/relations.d.ts.map +1 -1
  54. package/dist/daemon/relations.js +241 -155
  55. package/dist/daemon/relations.js.map +1 -1
  56. package/dist/daemon/relations.test.d.ts +2 -0
  57. package/dist/daemon/relations.test.d.ts.map +1 -0
  58. package/dist/daemon/relations.test.js +36 -0
  59. package/dist/daemon/relations.test.js.map +1 -0
  60. package/dist/daemon/session-index.d.ts +1 -8
  61. package/dist/daemon/session-index.d.ts.map +1 -1
  62. package/dist/daemon/session-index.js +8 -10
  63. package/dist/daemon/session-index.js.map +1 -1
  64. package/dist/daemon/session-index.test.js +14 -8
  65. package/dist/daemon/session-index.test.js.map +1 -1
  66. package/dist/daemon/session-summary.d.ts +1 -8
  67. package/dist/daemon/session-summary.d.ts.map +1 -1
  68. package/dist/daemon/session-summary.js +17 -12
  69. package/dist/daemon/session-summary.js.map +1 -1
  70. package/dist/daemon/session-summary.test.js +5 -3
  71. package/dist/daemon/session-summary.test.js.map +1 -1
  72. package/dist/daemon/workstream-summary.d.ts +1 -8
  73. package/dist/daemon/workstream-summary.d.ts.map +1 -1
  74. package/dist/daemon/workstream-summary.js +22 -14
  75. package/dist/daemon/workstream-summary.js.map +1 -1
  76. package/dist/daemon/workstream-summary.test.js +6 -3
  77. package/dist/daemon/workstream-summary.test.js.map +1 -1
  78. package/dist/lib/qdrant-client.d.ts +34 -0
  79. package/dist/lib/qdrant-client.d.ts.map +1 -1
  80. package/dist/lib/qdrant-client.js +54 -0
  81. package/dist/lib/qdrant-client.js.map +1 -1
  82. package/dist/lib/qdrant-client.test.js +49 -1
  83. package/dist/lib/qdrant-client.test.js.map +1 -1
  84. package/dist/llm/inference/index.d.ts +2 -1
  85. package/dist/llm/inference/index.d.ts.map +1 -1
  86. package/dist/llm/inference/index.js +37 -2
  87. package/dist/llm/inference/index.js.map +1 -1
  88. package/dist/llm/inference/index.test.js +44 -3
  89. package/dist/llm/inference/index.test.js.map +1 -1
  90. package/dist/llm/inference/providers/bedrock.d.ts +23 -0
  91. package/dist/llm/inference/providers/bedrock.d.ts.map +1 -1
  92. package/dist/llm/inference/providers/bedrock.js +10 -1
  93. package/dist/llm/inference/providers/bedrock.js.map +1 -1
  94. package/dist/llm/inference/providers/bedrock.test.js +49 -2
  95. package/dist/llm/inference/providers/bedrock.test.js.map +1 -1
  96. package/dist/llm/inference/providers/ollama.d.ts.map +1 -1
  97. package/dist/llm/inference/providers/ollama.js +7 -1
  98. package/dist/llm/inference/providers/ollama.js.map +1 -1
  99. package/dist/llm/inference/providers/openai.d.ts.map +1 -1
  100. package/dist/llm/inference/providers/openai.js +7 -1
  101. package/dist/llm/inference/providers/openai.js.map +1 -1
  102. package/dist/llm/inference/providers/openai.test.js +38 -2
  103. package/dist/llm/inference/providers/openai.test.js.map +1 -1
  104. package/dist/llm/inference/providers/portkey.d.ts.map +1 -1
  105. package/dist/llm/inference/providers/portkey.js +7 -1
  106. package/dist/llm/inference/providers/portkey.js.map +1 -1
  107. package/dist/llm/inference/types.d.ts +15 -0
  108. package/dist/llm/inference/types.d.ts.map +1 -1
  109. package/dist/llm/telemetry.d.ts +8 -1
  110. package/dist/llm/telemetry.d.ts.map +1 -1
  111. package/dist/llm/telemetry.js.map +1 -1
  112. package/dist/mcp/taxonomy.d.ts.map +1 -1
  113. package/dist/mcp/taxonomy.js +10 -0
  114. package/dist/mcp/taxonomy.js.map +1 -1
  115. package/dist/mcp/taxonomy.test.js +13 -2
  116. package/dist/mcp/taxonomy.test.js.map +1 -1
  117. package/dist/mcp/tools.d.ts.map +1 -1
  118. package/dist/mcp/tools.js +28 -25
  119. package/dist/mcp/tools.js.map +1 -1
  120. package/dist/mcp/tools.test.js +70 -5
  121. package/dist/mcp/tools.test.js.map +1 -1
  122. package/dist/privacy/redaction.d.ts +21 -0
  123. package/dist/privacy/redaction.d.ts.map +1 -0
  124. package/dist/privacy/redaction.js +83 -0
  125. package/dist/privacy/redaction.js.map +1 -0
  126. package/dist/privacy/redaction.test.d.ts +2 -0
  127. package/dist/privacy/redaction.test.d.ts.map +1 -0
  128. package/dist/privacy/redaction.test.js +51 -0
  129. package/dist/privacy/redaction.test.js.map +1 -0
  130. package/dist/prompts/relations.d.ts.map +1 -1
  131. package/dist/prompts/relations.js +60 -14
  132. package/dist/prompts/relations.js.map +1 -1
  133. package/dist/status.d.ts +94 -0
  134. package/dist/status.d.ts.map +1 -0
  135. package/dist/status.js +378 -0
  136. package/dist/status.js.map +1 -0
  137. package/dist/status.test.d.ts +5 -0
  138. package/dist/status.test.d.ts.map +1 -0
  139. package/dist/status.test.js +203 -0
  140. package/dist/status.test.js.map +1 -0
  141. package/package.json +1 -1
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { embed } from "../llm/index.js";
11
11
  import type { InitEmbeddingInput } from "../llm/index.js";
12
+ import { type RedactionSummary } from "../privacy/redaction.js";
12
13
  export type LogFn = (level: string, ...args: unknown[]) => void;
13
14
  export interface QdrantPayload {
14
15
  content: string;
@@ -31,6 +32,7 @@ export interface QdrantPayload {
31
32
  created_at: string;
32
33
  updated_at: string;
33
34
  metadata: Record<string, string | number | boolean | null>;
35
+ session_id?: string | null;
34
36
  episode_id?: string | null;
35
37
  workstream_key?: string | null;
36
38
  task_key?: string | null;
@@ -50,6 +52,7 @@ export interface QdrantPayload {
50
52
  expires_at?: string | null;
51
53
  quality_score?: number | null;
52
54
  confidence_reason?: string | null;
55
+ redaction?: RedactionSummary;
53
56
  from_entity?: string;
54
57
  relation_type?: string;
55
58
  to_entity?: string;
@@ -69,6 +72,7 @@ export interface StoreFact {
69
72
  workspace_id?: string;
70
73
  actor_id?: string;
71
74
  metadata?: Record<string, string | number | boolean | null>;
75
+ session_id?: string | null;
72
76
  episode_id?: string | null;
73
77
  workstream_key?: string | null;
74
78
  task_key?: string | null;
@@ -112,6 +116,14 @@ export interface QdrantScrollResult {
112
116
  confidence: number;
113
117
  last_reinforced_at: string;
114
118
  created_at: string;
119
+ updated_at: string;
120
+ metadata: Record<string, string | number | boolean | null>;
121
+ session_id?: string | null;
122
+ workstream_key?: string | null;
123
+ task_key?: string | null;
124
+ repo?: string | null;
125
+ branch?: string | null;
126
+ source_fact_ids?: string[];
115
127
  }
116
128
  export interface QdrantSearchFilters {
117
129
  category?: string;
@@ -124,7 +136,17 @@ export interface QdrantSearchFilters {
124
136
  export interface QdrantScrollFilters {
125
137
  categories?: string[];
126
138
  olderThan?: string;
139
+ sinceUpdated?: string;
127
140
  domain?: string;
141
+ entity?: string;
142
+ kinds?: string[];
143
+ excludeKinds?: string[];
144
+ source?: string;
145
+ workspaceId?: string;
146
+ orderBy?: {
147
+ key: "created_at" | "updated_at" | "last_reinforced_at";
148
+ direction: "asc" | "desc";
149
+ };
128
150
  }
129
151
  export type DedupAction = "insert" | "skip" | "supersede";
130
152
  export interface DedupResult {
@@ -1 +1 @@
1
- {"version":3,"file":"qdrant.d.ts","sourceRoot":"","sources":["../../src/daemon/qdrant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qdrant.d.ts","sourceRoot":"","sources":["../../src/daemon/qdrant.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,12 @@
7
7
  * `qdrant_api_key` is optional — leave unset for unauthenticated local /
8
8
  * self-hosted instances.
9
9
  */
10
- import { randomUUID } from "node:crypto";
10
+ import { createHash, randomUUID } from "node:crypto";
11
11
  import { loadConfig } from "../config.js";
12
12
  import { embed, initEmbedding, getEmbeddingConfig } from "../llm/index.js";
13
13
  import { QdrantClient } from "../lib/qdrant-client.js";
14
14
  import { DEFAULT_DOMAIN, QDRANT_INDEXES, categoryForMemorySubtype, layerForMemorySubtype, normalizeCategory, normalizeDomain, normalizeKind, validateMemorySubtype, } from "../mcp/taxonomy.js";
15
+ import { combineRedactions, redactStorageText, } from "../privacy/redaction.js";
15
16
  // ---------------------------------------------------------------------------
16
17
  // State
17
18
  // ---------------------------------------------------------------------------
@@ -151,12 +152,37 @@ const scrollFacts = async (filters = {}, limit = 10) => {
151
152
  range: { lt: filters.olderThan },
152
153
  });
153
154
  }
155
+ if (filters.sinceUpdated) {
156
+ must.push({
157
+ key: "updated_at",
158
+ range: { gte: filters.sinceUpdated },
159
+ });
160
+ }
154
161
  if (filters.domain) {
155
162
  must.push({ key: "domain", match: { value: filters.domain } });
156
163
  }
164
+ if (filters.entity) {
165
+ must.push({ key: "entities", match: { value: filters.entity } });
166
+ }
167
+ if (filters.kinds && filters.kinds.length > 0) {
168
+ must.push({
169
+ key: "kind",
170
+ match: { any: filters.kinds },
171
+ });
172
+ }
173
+ for (const kind of filters.excludeKinds ?? []) {
174
+ must_not.push({ key: "kind", match: { value: kind } });
175
+ }
176
+ if (filters.source) {
177
+ must.push({ key: "source", match: { value: filters.source } });
178
+ }
179
+ if (filters.workspaceId) {
180
+ must.push({ key: "workspace_id", match: { value: filters.workspaceId } });
181
+ }
157
182
  const result = await qdrantRequest("POST", `/collections/${collection}/points/scroll`, {
158
183
  filter: { must, must_not },
159
184
  limit,
185
+ ...(filters.orderBy ? { order_by: { key: filters.orderBy.key, direction: filters.orderBy.direction } } : {}),
160
186
  with_payload: true,
161
187
  });
162
188
  return (result.result?.points || []).map((pt) => ({
@@ -167,6 +193,14 @@ const scrollFacts = async (filters = {}, limit = 10) => {
167
193
  confidence: pt.payload?.confidence ?? 0,
168
194
  last_reinforced_at: pt.payload?.last_reinforced_at ?? "",
169
195
  created_at: pt.payload?.created_at ?? "",
196
+ updated_at: pt.payload?.updated_at ?? pt.payload?.created_at ?? "",
197
+ metadata: pt.payload?.metadata ?? {},
198
+ session_id: pt.payload?.session_id ?? null,
199
+ workstream_key: pt.payload?.workstream_key ?? null,
200
+ task_key: pt.payload?.task_key ?? null,
201
+ repo: pt.payload?.repo ?? null,
202
+ branch: pt.payload?.branch ?? null,
203
+ source_fact_ids: pt.payload?.source_fact_ids ?? [],
170
204
  }));
171
205
  };
172
206
  // ---------------------------------------------------------------------------
@@ -180,11 +214,23 @@ const storeFact = async (fact) => {
180
214
  : normalizeCategory(fact.category);
181
215
  const normalizedDomain = normalizeDomain(fact.domain ?? DEFAULT_DOMAIN);
182
216
  const normalizedLayer = fact.layer ?? (normalizedSubtype ? layerForMemorySubtype(normalizedSubtype) : null);
183
- const vector = await embed(fact.content);
217
+ const redactedContent = redactStorageText(fact.content);
218
+ const redactedEntities = (fact.entities || []).map((entity) => redactStorageText(entity));
219
+ const redactedRelation = fact.relation ? {
220
+ from: redactStorageText(fact.relation.from),
221
+ type: redactStorageText(fact.relation.type),
222
+ to: redactStorageText(fact.relation.to),
223
+ } : null;
224
+ const redaction = combineRedactions([
225
+ redactedContent,
226
+ ...redactedEntities,
227
+ ...(redactedRelation ? [redactedRelation.from, redactedRelation.type, redactedRelation.to] : []),
228
+ ]);
229
+ const vector = await embed(redactedContent.text);
184
230
  const now = new Date().toISOString();
185
231
  const id = randomUUID();
186
232
  const payload = {
187
- content: fact.content,
233
+ content: redactedContent.text,
188
234
  category: normalizedCategory,
189
235
  domain: normalizedDomain,
190
236
  kind: normalizedKind,
@@ -192,11 +238,13 @@ const storeFact = async (fact) => {
192
238
  ...(normalizedSubtype ? { memory_subtype: normalizedSubtype } : {}),
193
239
  ...(fact.workspace_id ? { workspace_id: fact.workspace_id } : {}),
194
240
  ...(fact.actor_id ? { actor_id: fact.actor_id } : {}),
195
- entities: (fact.entities || []).map((entity) => entity.toLowerCase()),
241
+ entities: redactedEntities.map((entity) => entity.text.toLowerCase()),
196
242
  source: fact.source || "daemon",
197
243
  confidence: fact.confidence ?? 0.7,
198
244
  importance: fact.importance ?? 0.5,
199
- content_hash: fact.content_hash,
245
+ content_hash: redactedContent.redacted
246
+ ? createHash("sha256").update(redactedContent.text).digest("hex")
247
+ : fact.content_hash,
200
248
  reinforcement_count: 1,
201
249
  last_reinforced_at: now,
202
250
  superseded_by: null,
@@ -204,6 +252,7 @@ const storeFact = async (fact) => {
204
252
  created_at: now,
205
253
  updated_at: now,
206
254
  metadata: fact.metadata || {},
255
+ ...(fact.session_id ? { session_id: fact.session_id } : {}),
207
256
  ...(fact.episode_id ? { episode_id: fact.episode_id } : {}),
208
257
  ...(fact.workstream_key ? { workstream_key: fact.workstream_key } : {}),
209
258
  ...(fact.task_key ? { task_key: fact.task_key } : {}),
@@ -225,15 +274,18 @@ const storeFact = async (fact) => {
225
274
  ...(fact.confidence_reason ? { confidence_reason: fact.confidence_reason } : {}),
226
275
  };
227
276
  // Add relation fields if present
228
- if (fact.relation) {
229
- payload.from_entity = fact.relation.from;
230
- payload.relation_type = fact.relation.type;
231
- payload.to_entity = fact.relation.to;
277
+ if (redactedRelation) {
278
+ payload.from_entity = redactedRelation.from.text;
279
+ payload.relation_type = redactedRelation.type.text;
280
+ payload.to_entity = redactedRelation.to.text;
281
+ }
282
+ if (redaction.redacted) {
283
+ payload.redaction = redaction;
232
284
  }
233
285
  await qdrantRequest("PUT", `/collections/${collection}/points`, {
234
286
  points: [{ id, vector, payload }],
235
287
  });
236
- logFn("DEBUG", `Qdrant: stored fact ${id} [${normalizedCategory}] ${fact.content.slice(0, 60)}`);
288
+ logFn("DEBUG", `Qdrant: stored fact ${id} [${normalizedCategory}] ${redactedContent.text.slice(0, 60)}`);
237
289
  return id;
238
290
  };
239
291
  const supersedeFact = async (oldFactId, newFactId) => {
@@ -1 +1 @@
1
- {"version":3,"file":"qdrant.js","sourceRoot":"","sources":["../../src/daemon/qdrant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qdrant.js","sourceRoot":"","sources":["../../src/daemon/qdrant.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAuB,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AA8JjC,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,IAAI,SAAS,GAAkB,IAAI,CAAC;AACpC,IAAI,YAAY,GAAkB,IAAI,CAAC;AACvC,IAAI,UAAU,GAAW,OAAO,CAAC;AACjC,IAAI,KAAK,GAAU,GAAG,EAAE,GAAE,CAAC,CAAC;AAC5B,IAAI,MAAM,GAAwB,IAAI,CAAC;AAEvC,MAAM,SAAS,GAAG,CAAC,EAAS,EAAQ,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACvD,MAAM,kBAAkB,GAAG,CAAC,SAAuC,EAAQ,EAAE;IAC3E,IAAI,SAAS,IAAI,SAAS,CAAC,QAAQ;QAAE,aAAa,CAAC,SAA+B,CAAC,CAAC;AACtF,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAqB,EAAE,GAAW,EAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAEzF,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E,MAAM,IAAI,GAAG,GAAY,EAAE;IACzB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IAEzB,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;IAC3B,YAAY,GAAG,GAAG,CAAC,cAAc,CAAC;IAClC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC;IAEvC,IAAI,SAAS;QAAE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEzD,4CAA4C;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC;QAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ;QAChC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ;QAC/B,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK;QAC1B,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU;QACpC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO;QAC7B,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU;QACnC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO;QAC9B,gBAAgB,EAAE,GAAG,CAAC,SAAS,CAAC,mBAAmB;KACpD,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,EAAE,uBAAuB,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,UAAU,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAEpH,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC;IAC1B,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,IAAI,YAAY,CAAC;YACxB,GAAG,EAAE,SAAmB;YACxB,MAAM,EAAE,YAAY;YACpB,UAAU;YACV,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU;YACvC,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO;YAClC,gBAAgB,EAAE,GAAG,CAAC,aAAa,CAAC,mBAAmB;YACvD,GAAG,EAAE,gBAAgB;SACtB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,CAAC;QACd,KAAK,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;AAEvD,MAAM,gBAAgB,GAAG,KAAK,IAAmB,EAAE;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACjE,KAAK,CAAC,MAAM,EAAE,sBAAsB,UAAU,YAAY,cAAc,CAAC,MAAM,WAAW,CAAC,CAAC;AAC9F,CAAC,CAAC;AAGF,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,aAAa,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,IAAc,EAAoC,EAAE;IAChH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sDAAsD,MAAM,IAAI,OAAO,GAAG,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAsC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChG,oFAAoF;IACpF,OAAO,MAAM,IAAI,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,WAAW,GAAG,KAAK,EACvB,KAAa,EACb,UAA+B,EAAE,EACjC,KAAK,GAAG,EAAE,EACqB,EAAE;IACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,IAAI,GAA8B;QACtC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE;KACtC,CAAC;IAEF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,gBAAgB,UAAU,gBAAgB,EAAE;QACrF,MAAM;QACN,MAAM,EAAE,EAAE,IAAI,EAAE;QAChB,KAAK;QACL,YAAY,EAAE,IAAI;KACnB,CAAwF,CAAC;IAE1F,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;QACnC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE;QACrC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE;QACrC,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC;QACxC,kBAAkB,EAAE,GAAG,CAAC,OAAO,EAAE,kBAAkB,IAAI,EAAE;QACzD,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE;KAC1C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EACvB,UAA+B,EAAE,EACjC,KAAK,GAAG,EAAE,EACqB,EAAE;IACjC,MAAM,IAAI,GAA8B;QACtC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE;KACtC,CAAC;IACF,wEAAwE;IACxE,qDAAqD;IACrD,MAAM,QAAQ,GAA8B;QAC1C,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;KACjD,CAAC;IAEF,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC;YACR,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC;YACR,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC;YACR,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,YAAY,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC;YACR,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,gBAAgB,UAAU,gBAAgB,EAAE;QACrF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK;QACL,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5G,YAAY,EAAE,IAAI;KACnB,CAAsF,CAAC;IAExF,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;QAClC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE;QACpC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE;QACpC,UAAU,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC;QACvC,kBAAkB,EAAE,EAAE,CAAC,OAAO,EAAE,kBAAkB,IAAI,EAAE;QACxD,UAAU,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE;QACxC,UAAU,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE;QAClE,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE;QACpC,UAAU,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI;QAC1C,cAAc,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,IAAI,IAAI;QAClD,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI;QACtC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI;QAC9B,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI;QAClC,eAAe,EAAE,EAAE,CAAC,OAAO,EAAE,eAAe,IAAI,EAAE;KACnD,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,SAAS,GAAG,KAAK,EAAE,IAAe,EAAmB,EAAE;IAC3D,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrF,MAAM,kBAAkB,GAAG,iBAAiB;QAC1C,CAAC,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACjF,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5G,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3C,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3C,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;KACxC,CAAC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,SAAS,GAAG,iBAAiB,CAAC;QAClC,eAAe;QACf,GAAG,gBAAgB;QACnB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACjG,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,eAAe,CAAC,IAAI;QAC7B,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,cAAc;QACpB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,QAAQ;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,GAAG;QAClC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,GAAG;QAClC,YAAY,EAAE,eAAe,CAAC,QAAQ;YACpC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACjE,CAAC,CAAC,IAAI,CAAC,YAAY;QACrB,mBAAmB,EAAE,CAAC;QACtB,kBAAkB,EAAE,GAAG;QACvB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC;IACF,iCAAiC;IACjC,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QACjD,OAAO,CAAC,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QACnD,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC;IAC/C,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,MAAM,aAAa,CAAC,KAAK,EAAE,gBAAgB,UAAU,SAAS,EAAE;QAC9D,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;KAClC,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,EAAE,uBAAuB,EAAE,KAAK,kBAAkB,KAAK,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACzG,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAAE,SAAiB,EAAiB,EAAE;IAClF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,aAAa,CAAC,MAAM,EAAE,gBAAgB,UAAU,iBAAiB,EAAE;QACvE,OAAO,EAAE;YACP,aAAa,EAAE,SAAS;YACxB,aAAa,EAAE,GAAG;YAClB,UAAU,EAAE,GAAG;SAChB;QACD,MAAM,EAAE,CAAC,SAAS,CAAC;KACpB,CAAC,CAAC;IACH,KAAK,CAAC,OAAO,EAAE,2BAA2B,SAAS,MAAM,SAAS,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,MAAc,EAAE,YAAoB,EAAiB,EAAE;IAClF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,aAAa,CAAC,MAAM,EAAE,gBAAgB,UAAU,iBAAiB,EAAE;QACvE,OAAO,EAAE;YACP,mBAAmB,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC;YAC5C,kBAAkB,EAAE,GAAG;YACvB,UAAU,EAAE,GAAG;SAChB;QACD,MAAM,EAAE,CAAC,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,KAAK,CAAC,OAAO,EAAE,2BAA2B,MAAM,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,KAAK,EACtB,OAAe,EACf,cAAsB,EACtB,EAAE,cAAc,GAAG,IAAI,EAAE,kBAAkB,GAAG,IAAI,KAAsB,EAAE,EAC1E,WAAoB,EACE,EAAE;IACxB,qDAAqD;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAA8B;YACtC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YACzD,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE;SACtC,CAAC;QACF,IAAI,WAAW;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,gBAAgB,UAAU,gBAAgB,EAAE;YACzF,MAAM,EAAE,EAAE,IAAI,EAAE;YAChB,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,IAAI;SACnB,CAAsF,CAAC;QAExF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;gBACL,MAAM,EAAE,MAAqB;gBAC7B,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,aAAa,EAAE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,IAAI,CAAC;gBACzD,KAAK,EAAE,GAAG;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,MAAM,EAAE,mCAAmC,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,GAA8B,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,WAAW;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,gBAAgB,UAAU,gBAAgB,EAAE;YAC3F,MAAM;YACN,MAAM,EAAE,EAAE,IAAI,EAAE;YAChB,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,IAAI;SACnB,CAAwF,CAAC;QAE1F,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAEtC,IAAI,GAAG,CAAC,KAAK,IAAI,cAAc,EAAE,CAAC;YAChC,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,GAAG,CAAC,EAAE;gBAClB,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,mBAAmB,IAAI,CAAC;gBACpD,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,IAAI,kBAAkB,EAAE,CAAC;YACpC,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,UAAU,EAAE,GAAG,CAAC,EAAE;gBAClB,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,mBAAmB,IAAI,CAAC;gBACpD,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,MAAM,EAAE,qCAAqC,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,4CAA4C;IAC3E,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,KAAK,EAC5B,OAAe,EACf,WAAoB,EACoD,EAAE;IAC1E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,GAA8B;YACtC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;SACnD,CAAC;QACF,IAAI,WAAW;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,gBAAgB,UAAU,gBAAgB,EAAE;YACrF,MAAM;YACN,MAAM,EAAE,EAAE,IAAI,EAAE;YAChB,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,IAAI;SACnB,CAAwF,CAAC;QAC1F,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,EAAE;YAClB,MAAM,EAAG,GAAG,CAAC,OAAwD,EAAE,mBAAmB;SAC3F,CAAC;IACJ,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,MAAM,EAAE,qCAAqC,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,CAAC,YAAY;IAC3B,CAAC;AACH,CAAC,CAAC;AAEF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,OAAO,EACL,IAAI,EACJ,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,GACX,CAAC"}
@@ -10,12 +10,13 @@ import fs from "node:fs";
10
10
  import path from "node:path";
11
11
  import os from "node:os";
12
12
  import { resetConfig, saveConfig, CONFIG_DEFAULTS } from "../config.js";
13
- import { init, isReady, setLogger, setEmbeddingConfig, } from "./qdrant.js";
13
+ import { init, isReady, setLogger, setEmbeddingConfig, storeFact, } from "./qdrant.js";
14
14
  // ---------------------------------------------------------------------------
15
15
  // Setup
16
16
  // ---------------------------------------------------------------------------
17
17
  let savedConfig = null;
18
18
  const configPath = path.join(os.homedir(), ".bikky", "config.json");
19
+ const realFetch = globalThis.fetch;
19
20
  // Env vars that override config — must be cleared for null-credential tests
20
21
  const QDRANT_ENV_KEYS = ["QDRANT_URL", "QDRANT_API_KEY"];
21
22
  let savedQdrantEnv = {};
@@ -43,6 +44,7 @@ describe("daemon/qdrant", () => {
43
44
  if (savedConfig !== null) {
44
45
  fs.writeFileSync(configPath, savedConfig);
45
46
  }
47
+ globalThis.fetch = realFetch;
46
48
  resetConfig();
47
49
  });
48
50
  beforeEach(() => {
@@ -50,6 +52,7 @@ describe("daemon/qdrant", () => {
50
52
  for (const key of QDRANT_ENV_KEYS) {
51
53
  delete process.env[key];
52
54
  }
55
+ globalThis.fetch = realFetch;
53
56
  resetConfig();
54
57
  });
55
58
  // Restore config after all tests in this file
@@ -205,5 +208,58 @@ describe("daemon/qdrant", () => {
205
208
  assert.strictEqual(fact.relation, null);
206
209
  });
207
210
  });
211
+ describe("storeFact", () => {
212
+ it("redacts secret content before embedding and Qdrant upsert", async () => {
213
+ const embedInputs = [];
214
+ const upsertBodies = [];
215
+ globalThis.fetch = (async (input, init) => {
216
+ const url = typeof input === "string" ? input : input.toString();
217
+ const body = init?.body ? JSON.parse(String(init.body)) : null;
218
+ if (url.includes("/v1/embeddings")) {
219
+ embedInputs.push(String(body?.input ?? ""));
220
+ return new Response(JSON.stringify({ data: [{ embedding: [0.1, 0.2, 0.3] }] }), { status: 200 });
221
+ }
222
+ if (url.includes("/collections/test-redaction/points") && init?.method === "PUT") {
223
+ if (body)
224
+ upsertBodies.push(body);
225
+ }
226
+ return new Response(JSON.stringify({ result: {} }), { status: 200 });
227
+ });
228
+ saveConfig({
229
+ ...CONFIG_DEFAULTS,
230
+ qdrant_url: "https://qdrant.example.com:6333",
231
+ qdrant_api_key: null,
232
+ collection: "test-redaction",
233
+ embedding: {
234
+ ...CONFIG_DEFAULTS.embedding,
235
+ provider: "ollama",
236
+ model: "test-model",
237
+ base_url: "http://embed.test:11434",
238
+ dimensions: 3,
239
+ },
240
+ });
241
+ resetConfig();
242
+ init();
243
+ await storeFact({
244
+ content: "daemon extracted token=supersecretvalue",
245
+ category: "infrastructure",
246
+ entities: ["daemon"],
247
+ content_hash: "raw-hash",
248
+ });
249
+ assert.deepEqual(embedInputs, ["daemon extracted token=[REDACTED:secret]"]);
250
+ assert.equal(upsertBodies.length, 1, "expected Qdrant upsert body");
251
+ const upsertBody = upsertBodies[0];
252
+ const points = upsertBody.points;
253
+ assert.ok(Array.isArray(points), "expected Qdrant points array");
254
+ const point = points[0];
255
+ assert.equal(point.payload.content, "daemon extracted token=[REDACTED:secret]");
256
+ assert.notEqual(point.payload.content_hash, "raw-hash");
257
+ assert.deepEqual(point.payload.redaction, {
258
+ redacted: true,
259
+ summary: "secret:1",
260
+ matches: [{ type: "secret", count: 1 }],
261
+ });
262
+ });
263
+ });
208
264
  });
209
265
  //# sourceMappingURL=qdrant.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"qdrant.test.js","sourceRoot":"","sources":["../../src/daemon/qdrant.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qdrant.test.js","sourceRoot":"","sources":["../../src/daemon/qdrant.test.ts"],"names":[],"mappings":"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"}
@@ -1,46 +1,52 @@
1
1
  /**
2
- * Relationship Inference
2
+ * Relationship inference.
3
3
  *
4
- * Periodic task that infers typed relationships between entities by analysing
5
- * their shared facts. Runs inside the consolidation tick cadence.
6
- *
7
- * Flow:
8
- * 1. Scroll all non-superseded facts → build entity co-occurrence map
9
- * 2. Filter out pairs that already have a `kind: "relation"` fact
10
- * 3. For the top N pairs by shared-fact count, fetch the actual shared facts
11
- * 4. Send to a cheap LLM for a 2-4 word relationship label
12
- * 5. Store via storeFact with kind: "relation", source: "daemon"
4
+ * Infers typed relationships between entities from recently changed facts. The
5
+ * daemon keeps a persistent cursor so each cycle considers new evidence first
6
+ * instead of rebuilding a whole-collection co-occurrence map.
13
7
  */
14
8
  import type { BikkyConfig } from "../config.js";
15
- import type { LogFn } from "./qdrant.js";
9
+ import type { LogFn, QdrantScrollResult } from "./qdrant.js";
16
10
  declare const setLogger: (fn: LogFn) => void;
17
- /** Canonical pair key — alphabetical so (a,b) === (b,a) */
11
+ /** Canonical pair key — alphabetical so (a,b) === (b,a). */
18
12
  declare const pairKey: (a: string, b: string) => string;
19
- interface CoOccurrence {
13
+ interface ChangedCoOccurrence {
20
14
  entityA: string;
21
15
  entityB: string;
22
- count: number;
23
- factIds: string[];
16
+ triggeringFactIds: string[];
17
+ latestUpdatedAt: string;
24
18
  }
25
- /**
26
- * Scroll ALL non-superseded facts in batches and build a co-occurrence map.
27
- * Returns pairs sorted by count descending.
28
- */
29
- declare const buildCoOccurrenceMap: () => Promise<CoOccurrence[]>;
19
+ interface RelationFact {
20
+ id: string;
21
+ content: string;
22
+ category: string;
23
+ updated_at: string;
24
+ session_id?: string | null;
25
+ workstream_key?: string | null;
26
+ metadata: Record<string, string | number | boolean | null>;
27
+ }
28
+ interface RelationCandidate {
29
+ entityA: string;
30
+ entityB: string;
31
+ triggeringFactIds: string[];
32
+ supportingFactIds: string[];
33
+ facts: Array<{
34
+ id: string;
35
+ content: string;
36
+ category: string;
37
+ }>;
38
+ sessionIds: string[];
39
+ workstreamKeys: string[];
40
+ latestUpdatedAt: string;
41
+ }
42
+ declare const buildChangedCoOccurrenceCandidates: (facts: QdrantScrollResult[]) => ChangedCoOccurrence[];
30
43
  /**
31
44
  * Get the set of entity pairs that already have a daemon-inferred relation.
32
45
  * Returns a Set of pairKeys.
33
46
  */
34
47
  declare const getExistingRelations: () => Promise<Set<string>>;
35
- /**
36
- * Use LLM to infer a relationship label from shared facts.
37
- * Returns null if the LLM can't determine a meaningful relationship.
38
- * The LLM decides directionality — `from` is the subject, `to` is the object.
39
- */
40
- declare const inferRelation: (entityA: string, entityB: string, sharedFacts: Array<{
41
- content: string;
42
- category: string;
43
- }>) => Promise<{
48
+ declare const fetchSupportingFacts: (entityA: string, entityB: string) => Promise<RelationFact[]>;
49
+ declare const inferRelation: (candidate: RelationCandidate) => Promise<{
44
50
  from: string;
45
51
  type: string;
46
52
  to: string;
@@ -48,17 +54,24 @@ declare const inferRelation: (entityA: string, entityB: string, sharedFacts: Arr
48
54
  evidence?: string;
49
55
  confidence?: number;
50
56
  inVocabulary?: boolean;
57
+ judgment?: {
58
+ evidence_strength?: number;
59
+ durability?: string;
60
+ directionality_clarity?: string;
61
+ };
51
62
  } | null>;
52
- /**
53
- * Store an inferred relation as a memory fact.
54
- */
55
- declare const storeRelation: (fromEntity: string, toEntity: string, relationType: string, content: string, sharedFactIds: string[], extras?: {
63
+ declare const storeRelation: (fromEntity: string, toEntity: string, relationType: string, content: string, candidate: RelationCandidate, extras?: {
56
64
  evidence?: string;
57
65
  confidence?: number;
58
66
  inVocabulary?: boolean;
67
+ judgment?: {
68
+ evidence_strength?: number;
69
+ durability?: string;
70
+ directionality_clarity?: string;
71
+ };
59
72
  }) => Promise<string>;
60
73
  declare const tick: (config: BikkyConfig) => Promise<void>;
61
74
  /** Reset state (for testing). */
62
75
  declare const _reset: () => void;
63
- export { tick, setLogger, _reset, buildCoOccurrenceMap, getExistingRelations, inferRelation, storeRelation, pairKey, };
76
+ export { tick, setLogger, _reset, buildChangedCoOccurrenceCandidates, fetchSupportingFacts, getExistingRelations, inferRelation, storeRelation, pairKey, };
64
77
  //# sourceMappingURL=relations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/daemon/relations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAiB,MAAM,aAAa,CAAC;AAQxD,QAAA,MAAM,SAAS,GAAI,IAAI,KAAK,KAAG,IAAuB,CAAC;AAcvD,2DAA2D;AAC3D,QAAA,MAAM,OAAO,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAGvC,CAAC;AAEF,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,QAAA,MAAM,oBAAoB,QAAa,OAAO,CAAC,YAAY,EAAE,CA2E5D,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,oBAAoB,QAAa,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CA8CzD,CAAC;AAqBF;;;;GAIG;AACH,QAAA,MAAM,aAAa,GACjB,SAAS,MAAM,EACf,SAAS,MAAM,EACf,aAAa,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,KACxD,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA6D5I,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,aAAa,GACjB,YAAY,MAAM,EAClB,UAAU,MAAM,EAChB,cAAc,MAAM,EACpB,SAAS,MAAM,EACf,eAAe,MAAM,EAAE,EACvB,SAAQ;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,KAC9E,OAAO,CAAC,MAAM,CAqChB,CAAC;AAIF,QAAA,MAAM,IAAI,GAAU,QAAQ,WAAW,KAAG,OAAO,CAAC,IAAI,CAgErD,CAAC;AAEF,iCAAiC;AACjC,QAAA,MAAM,MAAM,QAAO,IAElB,CAAC;AAEF,OAAO,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EAEN,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,OAAO,GACR,CAAC"}
1
+ {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/daemon/relations.ts"],"names":[],"mappings":"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"}