bikky 0.3.5 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -4
- package/dist/cli.js +26 -6
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +21 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +249 -2
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +84 -1
- package/dist/config.test.js.map +1 -1
- package/dist/daemon/consolidation.d.ts +4 -1
- package/dist/daemon/consolidation.d.ts.map +1 -1
- package/dist/daemon/consolidation.js +18 -4
- package/dist/daemon/consolidation.js.map +1 -1
- package/dist/daemon/entity-typing.d.ts +33 -11
- package/dist/daemon/entity-typing.d.ts.map +1 -1
- package/dist/daemon/entity-typing.js +203 -74
- package/dist/daemon/entity-typing.js.map +1 -1
- package/dist/daemon/entity-typing.test.d.ts +2 -0
- package/dist/daemon/entity-typing.test.d.ts.map +1 -0
- package/dist/daemon/entity-typing.test.js +50 -0
- package/dist/daemon/entity-typing.test.js.map +1 -0
- package/dist/daemon/episode-summary.d.ts +1 -8
- package/dist/daemon/episode-summary.d.ts.map +1 -1
- package/dist/daemon/episode-summary.js +33 -16
- package/dist/daemon/episode-summary.js.map +1 -1
- package/dist/daemon/episode-summary.test.js +6 -3
- package/dist/daemon/episode-summary.test.js.map +1 -1
- package/dist/daemon/extraction.d.ts.map +1 -1
- package/dist/daemon/extraction.js +14 -5
- package/dist/daemon/extraction.js.map +1 -1
- package/dist/daemon/loop.d.ts.map +1 -1
- package/dist/daemon/loop.js +9 -1
- package/dist/daemon/loop.js.map +1 -1
- package/dist/daemon/loop.test.d.ts +2 -0
- package/dist/daemon/loop.test.d.ts.map +1 -0
- package/dist/daemon/loop.test.js +85 -0
- package/dist/daemon/loop.test.js.map +1 -0
- package/dist/daemon/maintenance-state.d.ts +36 -0
- package/dist/daemon/maintenance-state.d.ts.map +1 -0
- package/dist/daemon/maintenance-state.js +95 -0
- package/dist/daemon/maintenance-state.js.map +1 -0
- package/dist/daemon/maintenance-state.test.d.ts +2 -0
- package/dist/daemon/maintenance-state.test.d.ts.map +1 -0
- package/dist/daemon/maintenance-state.test.js +56 -0
- package/dist/daemon/maintenance-state.test.js.map +1 -0
- package/dist/daemon/qdrant.d.ts +22 -0
- package/dist/daemon/qdrant.d.ts.map +1 -1
- package/dist/daemon/qdrant.js +62 -10
- package/dist/daemon/qdrant.js.map +1 -1
- package/dist/daemon/qdrant.test.js +57 -1
- package/dist/daemon/qdrant.test.js.map +1 -1
- package/dist/daemon/relations.d.ts +47 -34
- package/dist/daemon/relations.d.ts.map +1 -1
- package/dist/daemon/relations.js +241 -155
- package/dist/daemon/relations.js.map +1 -1
- package/dist/daemon/relations.test.d.ts +2 -0
- package/dist/daemon/relations.test.d.ts.map +1 -0
- package/dist/daemon/relations.test.js +36 -0
- package/dist/daemon/relations.test.js.map +1 -0
- package/dist/daemon/session-index.d.ts +1 -8
- package/dist/daemon/session-index.d.ts.map +1 -1
- package/dist/daemon/session-index.js +8 -10
- package/dist/daemon/session-index.js.map +1 -1
- package/dist/daemon/session-index.test.js +14 -8
- package/dist/daemon/session-index.test.js.map +1 -1
- package/dist/daemon/session-summary.d.ts +1 -8
- package/dist/daemon/session-summary.d.ts.map +1 -1
- package/dist/daemon/session-summary.js +17 -12
- package/dist/daemon/session-summary.js.map +1 -1
- package/dist/daemon/session-summary.test.js +5 -3
- package/dist/daemon/session-summary.test.js.map +1 -1
- package/dist/daemon/watcher-health.d.ts +7 -0
- package/dist/daemon/watcher-health.d.ts.map +1 -1
- package/dist/daemon/watcher-health.js +24 -0
- package/dist/daemon/watcher-health.js.map +1 -1
- package/dist/daemon/watcher-health.test.js +24 -1
- package/dist/daemon/watcher-health.test.js.map +1 -1
- package/dist/daemon/workstream-summary.d.ts +1 -8
- package/dist/daemon/workstream-summary.d.ts.map +1 -1
- package/dist/daemon/workstream-summary.js +22 -14
- package/dist/daemon/workstream-summary.js.map +1 -1
- package/dist/daemon/workstream-summary.test.js +6 -3
- package/dist/daemon/workstream-summary.test.js.map +1 -1
- package/dist/lib/qdrant-client.d.ts +34 -0
- package/dist/lib/qdrant-client.d.ts.map +1 -1
- package/dist/lib/qdrant-client.js +54 -0
- package/dist/lib/qdrant-client.js.map +1 -1
- package/dist/lib/qdrant-client.test.js +49 -1
- package/dist/lib/qdrant-client.test.js.map +1 -1
- package/dist/llm/inference/index.d.ts +2 -1
- package/dist/llm/inference/index.d.ts.map +1 -1
- package/dist/llm/inference/index.js +37 -2
- package/dist/llm/inference/index.js.map +1 -1
- package/dist/llm/inference/index.test.js +44 -3
- package/dist/llm/inference/index.test.js.map +1 -1
- package/dist/llm/inference/providers/bedrock.d.ts +23 -0
- package/dist/llm/inference/providers/bedrock.d.ts.map +1 -1
- package/dist/llm/inference/providers/bedrock.js +10 -1
- package/dist/llm/inference/providers/bedrock.js.map +1 -1
- package/dist/llm/inference/providers/bedrock.test.js +49 -2
- package/dist/llm/inference/providers/bedrock.test.js.map +1 -1
- package/dist/llm/inference/providers/ollama.d.ts.map +1 -1
- package/dist/llm/inference/providers/ollama.js +7 -1
- package/dist/llm/inference/providers/ollama.js.map +1 -1
- package/dist/llm/inference/providers/openai.d.ts.map +1 -1
- package/dist/llm/inference/providers/openai.js +7 -1
- package/dist/llm/inference/providers/openai.js.map +1 -1
- package/dist/llm/inference/providers/openai.test.js +38 -2
- package/dist/llm/inference/providers/openai.test.js.map +1 -1
- package/dist/llm/inference/providers/portkey.d.ts.map +1 -1
- package/dist/llm/inference/providers/portkey.js +7 -1
- package/dist/llm/inference/providers/portkey.js.map +1 -1
- package/dist/llm/inference/types.d.ts +15 -0
- package/dist/llm/inference/types.d.ts.map +1 -1
- package/dist/llm/telemetry.d.ts +8 -1
- package/dist/llm/telemetry.d.ts.map +1 -1
- package/dist/llm/telemetry.js.map +1 -1
- package/dist/mcp/taxonomy.d.ts.map +1 -1
- package/dist/mcp/taxonomy.js +10 -0
- package/dist/mcp/taxonomy.js.map +1 -1
- package/dist/mcp/taxonomy.test.js +13 -2
- package/dist/mcp/taxonomy.test.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +33 -26
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/tools.test.js +70 -5
- package/dist/mcp/tools.test.js.map +1 -1
- package/dist/privacy/redaction.d.ts +21 -0
- package/dist/privacy/redaction.d.ts.map +1 -0
- package/dist/privacy/redaction.js +83 -0
- package/dist/privacy/redaction.js.map +1 -0
- package/dist/privacy/redaction.test.d.ts +2 -0
- package/dist/privacy/redaction.test.d.ts.map +1 -0
- package/dist/privacy/redaction.test.js +51 -0
- package/dist/privacy/redaction.test.js.map +1 -0
- package/dist/prompts/relations.d.ts.map +1 -1
- package/dist/prompts/relations.js +60 -14
- package/dist/prompts/relations.js.map +1 -1
- package/dist/status.d.ts +94 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +378 -0
- package/dist/status.js.map +1 -0
- package/dist/status.test.d.ts +5 -0
- package/dist/status.test.d.ts.map +1 -0
- package/dist/status.test.js +203 -0
- package/dist/status.test.js.map +1 -0
- package/package.json +1 -1
package/dist/mcp/tools.test.js
CHANGED
|
@@ -180,10 +180,10 @@ describe("mcp/tools handlers", () => {
|
|
|
180
180
|
it("inserts a new point when no duplicates are found", async () => {
|
|
181
181
|
on("/points/scroll", () => ({ result: { points: [] } }));
|
|
182
182
|
on("/points/search", () => ({ result: [] }));
|
|
183
|
-
|
|
183
|
+
const upsertBodies = [];
|
|
184
184
|
on(/\/points$/, (call) => {
|
|
185
|
-
if (call.method === "PUT")
|
|
186
|
-
|
|
185
|
+
if (call.method === "PUT" && call.body)
|
|
186
|
+
upsertBodies.push(call.body);
|
|
187
187
|
return { status: "ok" };
|
|
188
188
|
});
|
|
189
189
|
const result = await invoke("memory_store", {
|
|
@@ -195,8 +195,11 @@ describe("mcp/tools handlers", () => {
|
|
|
195
195
|
const parsed = JSON.parse(textOf(result));
|
|
196
196
|
assert.equal(parsed.action, "inserted");
|
|
197
197
|
assert.ok(parsed.fact_id, "should return a generated fact_id");
|
|
198
|
-
assert.
|
|
199
|
-
const
|
|
198
|
+
assert.equal(upsertBodies.length, 1, "expected an upsert PUT to /points");
|
|
199
|
+
const upsertBody = upsertBodies[0];
|
|
200
|
+
const points = upsertBody.points;
|
|
201
|
+
assert.ok(Array.isArray(points), "expected points array");
|
|
202
|
+
const pt = points[0];
|
|
200
203
|
assert.equal(pt.payload.content, "platform is on AWS");
|
|
201
204
|
assert.deepEqual(pt.payload.entities, ["platform"]); // lowercased
|
|
202
205
|
assert.equal(pt.payload.reinforcement_count, 1);
|
|
@@ -204,6 +207,35 @@ describe("mcp/tools handlers", () => {
|
|
|
204
207
|
assert.ok(pt.payload.content_hash, "content_hash should be set");
|
|
205
208
|
assert.equal(pt.payload.superseded_by, null);
|
|
206
209
|
});
|
|
210
|
+
it("redacts secret values before embedding and storage", async () => {
|
|
211
|
+
on("/points/scroll", () => ({ result: { points: [] } }));
|
|
212
|
+
on("/points/search", () => ({ result: [] }));
|
|
213
|
+
const upsertBodies = [];
|
|
214
|
+
on(/\/points$/, (call) => {
|
|
215
|
+
if (call.method === "PUT" && call.body)
|
|
216
|
+
upsertBodies.push(call.body);
|
|
217
|
+
return { status: "ok" };
|
|
218
|
+
});
|
|
219
|
+
const result = await invoke("memory_store", {
|
|
220
|
+
content: "platform deploy uses password=supersecretvalue",
|
|
221
|
+
category: "infrastructure",
|
|
222
|
+
entities: ["platform"],
|
|
223
|
+
});
|
|
224
|
+
const parsed = JSON.parse(textOf(result));
|
|
225
|
+
assert.equal(parsed.action, "inserted");
|
|
226
|
+
const embedCall = callsTo("/v1/embeddings")[0];
|
|
227
|
+
assert.equal(embedCall?.body?.input, "platform deploy uses password=[REDACTED:secret]");
|
|
228
|
+
assert.equal(upsertBodies.length, 1, "expected an upsert PUT to /points");
|
|
229
|
+
const points = upsertBodies[0].points;
|
|
230
|
+
assert.ok(Array.isArray(points), "expected points array");
|
|
231
|
+
const pt = points[0];
|
|
232
|
+
assert.equal(pt.payload.content, "platform deploy uses password=[REDACTED:secret]");
|
|
233
|
+
assert.deepEqual(pt.payload.redaction, {
|
|
234
|
+
redacted: true,
|
|
235
|
+
summary: "secret:1",
|
|
236
|
+
matches: [{ type: "secret", count: 1 }],
|
|
237
|
+
});
|
|
238
|
+
});
|
|
207
239
|
it("flags potential conflicts when similarity is in the related band with shared entities", async () => {
|
|
208
240
|
on("/points/scroll", () => ({ result: { points: [] } }));
|
|
209
241
|
const related = (THRESHOLD_RELATED + THRESHOLD_DUPLICATE) / 2;
|
|
@@ -288,6 +320,39 @@ describe("mcp/tools handlers", () => {
|
|
|
288
320
|
assert.equal(relPt.payload.relation_type, "owns");
|
|
289
321
|
assert.deepEqual(relPt.payload.entities, ["saber", "platform"]);
|
|
290
322
|
});
|
|
323
|
+
it("scopes relation redaction metadata to the relation payload", async () => {
|
|
324
|
+
on("/points/scroll", () => ({ result: { points: [] } }));
|
|
325
|
+
on("/points/search", () => ({ result: [] }));
|
|
326
|
+
const upserts = [];
|
|
327
|
+
on(/\/points$/, (call) => {
|
|
328
|
+
if (call.method === "PUT")
|
|
329
|
+
upserts.push(call.body);
|
|
330
|
+
return { status: "ok" };
|
|
331
|
+
});
|
|
332
|
+
const result = await invoke("memory_store", {
|
|
333
|
+
content: "saber owns platform",
|
|
334
|
+
category: "team",
|
|
335
|
+
entities: ["saber", "platform"],
|
|
336
|
+
relation: { from: "api_key=relationsecret", type: "Owns", to: "Platform" },
|
|
337
|
+
});
|
|
338
|
+
const parsed = JSON.parse(textOf(result));
|
|
339
|
+
assert.equal(parsed.action, "inserted");
|
|
340
|
+
assert.deepEqual(parsed.redaction, {
|
|
341
|
+
redacted: true,
|
|
342
|
+
summary: "secret:1",
|
|
343
|
+
matches: [{ type: "secret", count: 1 }],
|
|
344
|
+
});
|
|
345
|
+
assert.equal(upserts.length, 2);
|
|
346
|
+
const factPt = upserts[0].points[0];
|
|
347
|
+
const relPt = upserts[1].points[0];
|
|
348
|
+
assert.equal(factPt.payload.redaction, undefined);
|
|
349
|
+
assert.equal(relPt.payload.content, "api_key=[REDACTED:secret] Owns Platform");
|
|
350
|
+
assert.deepEqual(relPt.payload.redaction, {
|
|
351
|
+
redacted: true,
|
|
352
|
+
summary: "secret:1",
|
|
353
|
+
matches: [{ type: "secret", count: 1 }],
|
|
354
|
+
});
|
|
355
|
+
});
|
|
291
356
|
});
|
|
292
357
|
// ─────────────────────────────────────────────────────────────────────────
|
|
293
358
|
// memory_recall — filter composition + graph_depth
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/mcp/tools.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,aAAa,EACb,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAYvE,SAAS,cAAc;IACrB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,MAAM,MAAM,GAAe;QACzB,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO;YAChC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAcD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC;AACnC,IAAI,KAAiB,CAAC;AACtB,IAAI,UAAiE,CAAC;AAEtE,SAAS,gBAAgB;IACvB,KAAK,GAAG,EAAE,CAAC;IACX,UAAU,GAAG,EAAE,CAAC;IAChB,UAAU,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,KAAwB,EAAE,IAAkB,EAAE,EAAE;QACzE,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,IAAI,GAAa,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBACxC,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,0BAA0B;QAC1B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACvF,CAAC,CAAiB,CAAC;AACrB,CAAC;AAED,SAAS,EAAE,CAAC,KAAsB,EAAE,OAAkB;IACpD,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,OAAO,CAAC,KAAsB;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CACtE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,IAAI,QAA8B,CAAC;AAEnC,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,IAA6B;IAC/D,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,kBAAkB,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC,IAAI,CAAgE,CAAC;AAChF,CAAC;AAED,SAAS,MAAM,CAAC,MAA0D;IACxE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,CAAC,GAAG,EAAE;QACV,YAAY,CAAC,0BAA0B,CAAC,CAAC;QACzC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC5B,aAAa,CAAC,YAAY,CAAC,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,aAAa,CAAC;YACZ,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,yBAAyB;YAClC,KAAK,EAAE,YAAY;YACnB,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;QAC9B,yEAAyE;QACzE,iEAAiE;QACjE,aAAa,CAAC,IAAI,CAAC,MAAwD,CAAC,CAAC;QAC7E,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACd,gBAAgB,EAAE,CAAC;QACnB,oDAAoD;QACpD,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,2BAA2B;IAC3B,4EAA4E;IAE5E,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,KAAK,MAAM,IAAI,IAAI;YACjB,cAAc;YACd,eAAe;YACf,eAAe;YACf,kBAAkB;YAClB,eAAe;YACf,eAAe;YACf,eAAe;YACf,kBAAkB;YAClB,oBAAoB;YACpB,uBAAuB;YACvB,wBAAwB;YACxB,gBAAgB;SACjB,EAAE,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,qBAAqB,IAAI,oBAAoB,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,4CAA4C;IAC5C,4EAA4E;IAE5E,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1B,MAAM,EAAE;oBACN,MAAM,EAAE,CAAC;4BACP,EAAE,EAAE,YAAY;4BAChB,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,EAAE;yBAC9E,CAAC;iBACH;aACF,CAAC,CAAC,CAAC;YACJ,IAAI,cAAc,GAAmC,IAAI,CAAC;YAC1D,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC7B,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC3B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE;gBAC1C,OAAO,EAAE,0BAA0B;gBACnC,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,CAAE,cAAkD,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;YAC7F,oCAAoC;YACpC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAClD,0CAA0C;YAC1C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc;YACxE,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1B,MAAM,EAAE,CAAC;wBACP,EAAE,EAAE,UAAU;wBACd,KAAK,EAAE,mBAAmB,GAAG,IAAI;wBACjC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,EAAE;qBACjF,CAAC;aACH,CAAC,CAAC,CAAC;YACJ,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAEhD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE;gBAC1C,OAAO,EAAE,wBAAwB;gBACjC,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,mBAAmB,CAAC,CAAC;YACnD,iCAAiC;YACjC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,UAAU,GAAmC,IAAI,CAAC;YACtD,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;oBAAE,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE;gBAC1C,OAAO,EAAE,oBAAoB;gBAC7B,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,CAAC,UAAU,CAAC;gBACtB,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;YAC/D,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,mCAAmC,CAAC,CAAC;YAC3D,MAAM,EAAE,GAAI,UAAsE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7F,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa;YAClE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,4BAA4B,CAAC,CAAC;YACjE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;YACrG,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC9D,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1B,MAAM,EAAE,CAAC;wBACP,EAAE,EAAE,WAAW;wBACf,KAAK,EAAE,OAAO;wBACd,OAAO,EAAE;4BACP,OAAO,EAAE,yBAAyB;4BAClC,QAAQ,EAAE,gBAAgB;4BAC1B,QAAQ,EAAE,CAAC,UAAU,CAAC;yBACvB;qBACF,CAAC;aACH,CAAC,CAAC,CAAC;YACJ,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE;gBAC1C,OAAO,EAAE,yBAAyB;gBAClC,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,CAAC,UAAU,CAAC;aACvB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YACpF,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YAChG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9E,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,iCAAiC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAmC,EAAE,CAAC;YACxD,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC7B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC;gBACxD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,4EAA4E;gBAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,IAA2C,CAAC;gBAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC3C,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC/E,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE;gBAC1C,OAAO,EAAE,oBAAoB;gBAC7B,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,UAAU,EAAE,aAAa;aAC1B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAA4D,CAAC;YACjG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAmC,EAAE,CAAC;YACnD,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC;gBAC9E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE;gBAC1C,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;gBAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE;aAC1D,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;YAChE,oDAAoD;YACpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,KAAK,GAAI,OAAO,CAAC,CAAC,CAA6D,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAClD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,mDAAmD;IACnD,4EAA4E;IAE5E,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;YACxG,IAAI,UAAU,GAAmC,IAAI,CAAC;YACtD,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,UAAU,GAAG,IAAI,CAAC,IAA+B,CAAC;gBAClD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,eAAe,EAAE;gBAC5B,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,gBAAgB;gBAC1B,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,sBAAsB;gBAC7B,KAAK,EAAE,sBAAsB;gBAC7B,eAAe,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;aACtC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YACtB,MAAM,MAAM,GAAI,UAAmE,CAAC,MAAM,CAAC;YAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,4DAA4D;YAC5D,MAAM,CAAC,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAmC,CAAC,OAAO,EAAE,GAAG,KAAK,eAAe,CAAC,EACvF,qDAAqD,CACtD,CAAC;YACF,mCAAmC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,GAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtE,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBAC7F,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,uCAAuC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjG,CAAC;YACD,wBAAwB;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAiC,CAAC;YAC1F,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,sEAAsE;YACtE,yEAAyE;YACzE,iCAAiC;YACjC,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1B,MAAM,EAAE;oBACN,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE;oBAC5L,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE;oBAC5L,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE;iBAC9L;aACF,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACvE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAC;YACzD,iEAAiE;YACjE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,yDAAyD;YACzD,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1B,MAAM,EAAE,CAAC;wBACP,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,GAAG;wBACV,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE;qBACrG,CAAC;aACH,CAAC,CAAC,CAAC;YACJ,gEAAgE;YAChE,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAA4D,CAAC;gBAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAA6C,CAAC;gBAC7G,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAA6C,CAAC;gBACzG,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAA6C,CAAC;gBAE9G,2FAA2F;gBAC3F,IAAI,QAAQ,EAAE,KAAK,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;oBAClC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC;oCAC1B,EAAE,EAAE,MAAM;oCACV,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,EAAE;iCACxJ,CAAC,EAAE,EAAE,CAAC;gBACT,CAAC;gBACD,IAAI,MAAM,EAAE,KAAK,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;oBAChC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBACpC,CAAC;gBACD,IAAI,YAAY,EAAE,KAAK,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;oBACtC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC;oCAC1B,EAAE,EAAE,UAAU;oCACd,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE;iCAC9G,CAAC,EAAE,EAAE,CAAC;gBACT,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,gDAAgD;IAChD,4EAA4E;IAE5E,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAA4D,CAAC;gBAC/E,mGAAmG;gBACnG,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAA2D,CAAC;gBACtF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC;gBAC5F,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC;gBAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC;gBAEzF,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE;gCACzB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,EAAE;6BAChI,EAAE,EAAE,CAAC;gBACR,CAAC;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE;gCACzB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE;6BAClJ,EAAE,EAAE,CAAC;gBACR,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,oEAAoE;oBACpE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE;gCACzB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE;gCACjJ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE;6BAChJ,EAAE,EAAE,CAAC;gBACR,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,2BAA2B;YAClE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,yCAAyC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,sCAAsC;IACtC,4EAA4E;IAE5E,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,IAAI,IAAI,GAAmC,IAAI,CAAC;YAChD,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,GAAG,IAAI,CAAC,IAA+B,CAAC;gBAC5C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,mGAAmG;YACnG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAyB,CAAC;gBAChD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;oBAC3C,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC;gBACjF,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACxF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAExC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,IAA8D,CAAC;YACzE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;YAC5D,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACnC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,8DAA8D;YAC9D,UAAU,GAAG,EAAE,CAAC;YAChB,UAAU,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAC7B,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CACtB,CAAC;YAElB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,qBAAqB;IACrB,4EAA4E;IAE5E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,eAAe,GAAmC,EAAE,CAAC;YAC3D,IAAI,eAAe,GAAmC,IAAI,CAAC;YAE3D,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,IAA2C,CAAC;gBAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACpC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACpF,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACtC,eAAe,GAAI,CAAC,CAAC,MAAsD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACvF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC7B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC;gBAC3D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACnG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAE1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE3B,qCAAqC;YACrC,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAA0C,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC;YAChI,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,wCAAwC,CAAC,CAAC;YACjE,MAAM,WAAW,GAAI,WAAoD,CAAC,OAAO,CAAC;YAClF,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAEtC,yBAAyB;YACzB,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,4CAA4C,CAAC,CAAC;YACzE,MAAM,EAAE,GAAG,eAA0C,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAClD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAyB,CAAC;gBACzC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG;oBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBAC3D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,wBAAwB;IACxB,4EAA4E;IAE5E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,IAAI,eAAe,GAAmC,IAAI,CAAC;YAE3D,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,IAA2C,CAAC;gBAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACpC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;gBACnE,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACtC,eAAe,GAAI,CAAC,CAAC,MAAsD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACvF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,EAAE;gBACnD,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,iBAAiB;aACzB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAE1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE3B,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,eAA0C,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,2CAA2C;YAC3C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,IAAI,eAAe,GAAmC,IAAI,CAAC;YAC3D,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,IAA2C,CAAC;gBAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACpC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;gBACnE,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACtC,eAAe,GAAI,CAAC,CAAC,MAAsD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACvF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChF,MAAM,EAAE,GAAG,eAAqD,CAAC;YACjE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,yBAAyB;IACzB,4EAA4E;IAE5E,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,IAAI,eAAe,GAAmC,IAAI,CAAC;YAC3D,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,IAA4B,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACtC,eAAe,GAAI,CAAC,CAAC,MAAsD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACvF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wBAAwB,EAAE;gBACpD,OAAO,EAAE,iDAAiD;gBAC1D,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;gBAC/B,UAAU,EAAE,MAAM;gBAClB,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE,iBAAiB;aACxB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE7B,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,eAA0C,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;YAC7F,IAAI,eAAe,GAAmC,IAAI,CAAC;YAC3D,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,IAA4B,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACtC,eAAe,GAAI,CAAC,CAAC,MAAsD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACvF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE;gBAC5C,OAAO,EAAE,6EAA6E;gBACtF,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC/B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAChD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAE/B,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,eAA0C,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,eAAe,GAAmC,EAAE,CAAC;YAC3D,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,IAA2C,CAAC;gBAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACpC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC/E,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC7B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC;gBAC3D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE;gBAC5C,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,CAAC,GAAG,CAAC;gBACf,UAAU,EAAE,OAAO;aACpB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEzC,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/C,MAAM,MAAM,GAAI,CAA0B,CAAC,MAA8B,CAAC;gBAC1E,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,8CAA8C,CAAC,CAAC;YACzE,MAAM,EAAE,GAAI,aAAsD,CAAC,OAAO,CAAC;YAC3E,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YACpD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/mcp/tools.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface RedactionMatch {
|
|
2
|
+
type: string;
|
|
3
|
+
count: number;
|
|
4
|
+
}
|
|
5
|
+
export interface RedactionSummary {
|
|
6
|
+
redacted: boolean;
|
|
7
|
+
summary: string;
|
|
8
|
+
matches: RedactionMatch[];
|
|
9
|
+
}
|
|
10
|
+
export interface RedactionResult extends RedactionSummary {
|
|
11
|
+
text: string;
|
|
12
|
+
}
|
|
13
|
+
export interface RedactionOptions {
|
|
14
|
+
enabled?: boolean;
|
|
15
|
+
redactPii?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const noRedaction: () => RedactionSummary;
|
|
18
|
+
export declare const redactStorageText: (text: string, options?: RedactionOptions) => RedactionResult;
|
|
19
|
+
export declare const combineRedactions: (items: Array<RedactionSummary | RedactionResult | null | undefined>) => RedactionSummary;
|
|
20
|
+
export declare const addRedactionPayload: (payload: Record<string, unknown>, summary: RedactionSummary) => void;
|
|
21
|
+
//# sourceMappingURL=redaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../src/privacy/redaction.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAsCD,eAAO,MAAM,WAAW,QAAO,gBAI7B,CAAC;AAgBH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,UAAS,gBAAqB,KAC7B,eAmBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,KAAK,CAAC,gBAAgB,GAAG,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC,KAClE,gBAWF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,gBAAgB,KACxB,IAQF,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
const SECRET_PLACEHOLDER = "[REDACTED:secret]";
|
|
2
|
+
const secretPatterns = [
|
|
3
|
+
{
|
|
4
|
+
type: "secret",
|
|
5
|
+
pattern: /\b((?:password|passwd|pwd|api[_-]?key|token|access[_-]?token|refresh[_-]?token|secret|client[_-]?secret|private[_-]?key)\s*[:=]\s*)(?:"[^"\s,;]+"|'[^'\s,;]+'|[^\s,;]+)/gi,
|
|
6
|
+
replace: (_match, prefix) => `${prefix}${SECRET_PLACEHOLDER}`,
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
type: "secret",
|
|
10
|
+
pattern: /\b(Bearer\s+)[A-Za-z0-9._~+/=-]{12,}/gi,
|
|
11
|
+
replace: (_match, prefix) => `${prefix}${SECRET_PLACEHOLDER}`,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
type: "secret",
|
|
15
|
+
pattern: /\b(?:github_pat_[A-Za-z0-9_]{20,}|gh[opsur]_[A-Za-z0-9_]{20,})\b/g,
|
|
16
|
+
replace: () => SECRET_PLACEHOLDER,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: "secret",
|
|
20
|
+
pattern: /\bsk-[A-Za-z0-9_-]{20,}\b/g,
|
|
21
|
+
replace: () => SECRET_PLACEHOLDER,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: "secret",
|
|
25
|
+
pattern: /\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/g,
|
|
26
|
+
replace: () => SECRET_PLACEHOLDER,
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
export const noRedaction = () => ({
|
|
30
|
+
redacted: false,
|
|
31
|
+
summary: "none",
|
|
32
|
+
matches: [],
|
|
33
|
+
});
|
|
34
|
+
const summarizeMatches = (counts) => {
|
|
35
|
+
const matches = [...counts.entries()]
|
|
36
|
+
.filter(([, count]) => count > 0)
|
|
37
|
+
.map(([type, count]) => ({ type, count }));
|
|
38
|
+
if (matches.length === 0)
|
|
39
|
+
return noRedaction();
|
|
40
|
+
return {
|
|
41
|
+
redacted: true,
|
|
42
|
+
summary: matches.map((match) => `${match.type}:${match.count}`).join(","),
|
|
43
|
+
matches,
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export const redactStorageText = (text, options = {}) => {
|
|
47
|
+
if (options.enabled === false) {
|
|
48
|
+
return { text, ...noRedaction() };
|
|
49
|
+
}
|
|
50
|
+
let redactedText = text;
|
|
51
|
+
const counts = new Map();
|
|
52
|
+
for (const { type, pattern, replace } of secretPatterns) {
|
|
53
|
+
redactedText = redactedText.replace(pattern, (match, ...groups) => {
|
|
54
|
+
counts.set(type, (counts.get(type) ?? 0) + 1);
|
|
55
|
+
return replace(match, ...groups);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
text: redactedText,
|
|
60
|
+
...summarizeMatches(counts),
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
export const combineRedactions = (items) => {
|
|
64
|
+
const counts = new Map();
|
|
65
|
+
for (const item of items) {
|
|
66
|
+
if (!item?.redacted)
|
|
67
|
+
continue;
|
|
68
|
+
for (const match of item.matches) {
|
|
69
|
+
counts.set(match.type, (counts.get(match.type) ?? 0) + match.count);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return summarizeMatches(counts);
|
|
73
|
+
};
|
|
74
|
+
export const addRedactionPayload = (payload, summary) => {
|
|
75
|
+
if (summary.redacted) {
|
|
76
|
+
payload["redaction"] = {
|
|
77
|
+
redacted: summary.redacted,
|
|
78
|
+
summary: summary.summary,
|
|
79
|
+
matches: summary.matches,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=redaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../../src/privacy/redaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redaction.test.d.ts","sourceRoot":"","sources":["../../src/privacy/redaction.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { describe, it } from "node:test";
|
|
2
|
+
import assert from "node:assert/strict";
|
|
3
|
+
import { addRedactionPayload, combineRedactions, redactStorageText, } from "./redaction.js";
|
|
4
|
+
describe("privacy/redaction", () => {
|
|
5
|
+
it("redacts assignment-style secrets", () => {
|
|
6
|
+
const result = redactStorageText("Configured service with password=supersecretvalue and api_key: sk-testsecretvalue123456789.");
|
|
7
|
+
assert.equal(result.text, "Configured service with password=[REDACTED:secret] and api_key: [REDACTED:secret]");
|
|
8
|
+
assert.equal(result.redacted, true);
|
|
9
|
+
assert.equal(result.summary, "secret:2");
|
|
10
|
+
assert.deepEqual(result.matches, [{ type: "secret", count: 2 }]);
|
|
11
|
+
});
|
|
12
|
+
it("redacts bearer and common token prefixes", () => {
|
|
13
|
+
const result = redactStorageText("Use Bearer abcdefghijklmnop and ghp_abcdefghijklmnopqrstuvwxyz1234567890");
|
|
14
|
+
assert.equal(result.text, "Use Bearer [REDACTED:secret] and [REDACTED:secret]");
|
|
15
|
+
assert.deepEqual(result.matches, [{ type: "secret", count: 2 }]);
|
|
16
|
+
});
|
|
17
|
+
it("leaves non-secret text unchanged", () => {
|
|
18
|
+
const result = redactStorageText("Bikky stores memory in Qdrant.");
|
|
19
|
+
assert.equal(result.text, "Bikky stores memory in Qdrant.");
|
|
20
|
+
assert.equal(result.redacted, false);
|
|
21
|
+
assert.equal(result.summary, "none");
|
|
22
|
+
assert.deepEqual(result.matches, []);
|
|
23
|
+
});
|
|
24
|
+
it("can be explicitly disabled", () => {
|
|
25
|
+
const result = redactStorageText("password=supersecretvalue", { enabled: false });
|
|
26
|
+
assert.equal(result.text, "password=supersecretvalue");
|
|
27
|
+
assert.equal(result.redacted, false);
|
|
28
|
+
});
|
|
29
|
+
it("combines redaction summaries", () => {
|
|
30
|
+
const first = redactStorageText("password=one");
|
|
31
|
+
const second = redactStorageText("token=two");
|
|
32
|
+
assert.deepEqual(combineRedactions([first, second]), {
|
|
33
|
+
redacted: true,
|
|
34
|
+
summary: "secret:2",
|
|
35
|
+
matches: [{ type: "secret", count: 2 }],
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
it("adds payload metadata only when redacted", () => {
|
|
39
|
+
const payload = {};
|
|
40
|
+
addRedactionPayload(payload, redactStorageText("password=one"));
|
|
41
|
+
assert.deepEqual(payload.redaction, {
|
|
42
|
+
redacted: true,
|
|
43
|
+
summary: "secret:1",
|
|
44
|
+
matches: [{ type: "secret", count: 1 }],
|
|
45
|
+
});
|
|
46
|
+
const cleanPayload = {};
|
|
47
|
+
addRedactionPayload(cleanPayload, redactStorageText("no secrets here"));
|
|
48
|
+
assert.equal(cleanPayload.redaction, undefined);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=redaction.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redaction.test.js","sourceRoot":"","sources":["../../src/privacy/redaction.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/prompts/relations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG7F,eAAO,MAAM,2BAA2B,EAAE,gBAGzC,CAAC;
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/prompts/relations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG7F,eAAO,MAAM,2BAA2B,EAAE,gBAGzC,CAAC;AAmHF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,cAAc,KAAG,cAiBvD,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { buildOpts, wrapData } from "./index.js";
|
|
|
7
7
|
import { canonicalTypesForPrompt } from "../daemon/relations-vocab.js";
|
|
8
8
|
export const RELATIONS_PROMPT_DESCRIPTOR = {
|
|
9
9
|
id: "relations",
|
|
10
|
-
version: "2026-04-27-
|
|
10
|
+
version: "2026-04-27-2",
|
|
11
11
|
};
|
|
12
12
|
const SYSTEM = `<role>
|
|
13
13
|
You infer ONE directed relationship between two named entities, based on facts that mention both.
|
|
@@ -35,18 +35,54 @@ ${canonicalTypesForPrompt()}
|
|
|
35
35
|
</vocabulary>
|
|
36
36
|
|
|
37
37
|
<reasoning-steps>
|
|
38
|
-
Walk these steps before emitting JSON
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
38
|
+
Walk these steps IN ORDER before emitting JSON — do not skip any.
|
|
39
|
+
|
|
40
|
+
1. Read each shared fact. Identify the verb/phrase that links the two entities.
|
|
41
|
+
|
|
42
|
+
2. EPHEMERAL-EVENT GATE — does the verb describe a one-time past action
|
|
43
|
+
(deployed, reverted, migrated, restarted, upgraded, rolled back, fixed, patched)?
|
|
44
|
+
If YES → return {"type": null, "reason": "ephemeral event, not a durable relation"}.
|
|
45
|
+
Also: do the two entities merely participate in the SAME event independently?
|
|
46
|
+
If YES → return {"type": null, "reason": "independent events, not a relation"}.
|
|
47
|
+
|
|
48
|
+
3. DIRECTIONALITY — which entity is the SUBJECT (performs the action / owns the dependency)?
|
|
49
|
+
If the facts are symmetric ("X and Y both …"), there is NO directed relation → return type:null.
|
|
50
|
+
|
|
51
|
+
4. TYPE MAPPING — map the verb to a canonical type from <vocabulary>. Examples:
|
|
52
|
+
"calls" / "invokes" / "triggers" → calls
|
|
53
|
+
"uses" / "needs" / "relies on" → depends-on
|
|
54
|
+
"manages" / "is responsible for" → owns
|
|
55
|
+
"writes to" / "persists in" → stores-in
|
|
47
56
|
If no canonical fits, write your own kebab-case verb (1-3 words).
|
|
48
|
-
|
|
49
|
-
5.
|
|
57
|
+
|
|
58
|
+
5. EVIDENCE — pick the verbatim quote that anchors the relation. It MUST appear inside <facts>.
|
|
59
|
+
|
|
60
|
+
6. SELF-JUDGMENT — score the candidate relation on three axes (think step-by-step BEFORE setting these):
|
|
61
|
+
|
|
62
|
+
AXIS 1 — evidence_strength (0.0–1.0)
|
|
63
|
+
Question: Does the evidence explicitly name BOTH entities AND the linking verb?
|
|
64
|
+
- 1.0 — quote contains both entity names + an explicit verb matching the type
|
|
65
|
+
- 0.7 — one entity or the verb is implied but clearly resolvable in context
|
|
66
|
+
- 0.4 — the link is inferred; neither entity is named directly in the quote
|
|
67
|
+
- 0.0 — no evidence at all (should have returned type:null in step 5)
|
|
68
|
+
|
|
69
|
+
AXIS 2 — durability (one of: structural | configuration | transient | ephemeral)
|
|
70
|
+
Question: How long will this relation remain TRUE?
|
|
71
|
+
- structural — architecture, ownership, dependency graph (years)
|
|
72
|
+
- configuration — feature flags, settings, integrations that change with releases (months)
|
|
73
|
+
- transient — currently deployed version, active incident response links (days–weeks)
|
|
74
|
+
- ephemeral — one-time events: deploy, revert, migration, rollback (should NOT reach this step — step 2 should have caught it)
|
|
75
|
+
If durability is "transient" or "ephemeral" → return {"type": null, "reason": "relation is not durable enough to store"}.
|
|
76
|
+
|
|
77
|
+
AXIS 3 — directionality_clarity (clear | ambiguous)
|
|
78
|
+
Question: Is the from→to direction unambiguously supported by the evidence?
|
|
79
|
+
- clear — the evidence makes the subject→object direction obvious
|
|
80
|
+
- ambiguous — reasonable people could read the direction either way
|
|
81
|
+
If "ambiguous" → return {"type": null, "reason": "direction of relation is ambiguous"}.
|
|
82
|
+
|
|
83
|
+
7. CONFIDENCE — derive from self-judgment:
|
|
84
|
+
confidence = evidence_strength × (durability == "structural" ? 1.0 : 0.85)
|
|
85
|
+
Round to 1 decimal place.
|
|
50
86
|
</reasoning-steps>
|
|
51
87
|
|
|
52
88
|
<rules>
|
|
@@ -54,21 +90,31 @@ Walk these steps before emitting JSON:
|
|
|
54
90
|
- Co-occurrence alone is NOT a relation. The shared facts must describe an action, dependency, ownership, or composition link.
|
|
55
91
|
- Pick directionality based on what the facts say, not alphabetical order.
|
|
56
92
|
- Symmetric facts ("X and Y both run on Z") do NOT define a directed relation between X and Y.
|
|
93
|
+
- EPHEMERAL EVENTS are NOT relations. If the facts describe a one-time past action (deployed, reverted, migrated, rolled back, upgraded, restarted, fixed), return {"type": null, "reason": "ephemeral event, not a durable relation"}. Relations must describe ONGOING structural links — things that are true right now and will remain true.
|
|
94
|
+
- If the two entities merely participated in the SAME event independently (e.g. "X reverted to rev 33" and "Y reverted to rev 26"), there is NO relation between X and Y — return {"type": null, "reason": "independent events, not a relation"}.
|
|
57
95
|
</rules>
|
|
58
96
|
|
|
59
97
|
<examples>
|
|
60
98
|
Entities: "tg-bot", "bedrock"
|
|
61
99
|
Facts: "tg-bot calls Bedrock via Portkey for LLM inference"
|
|
62
|
-
→ {"from":"tg-bot","type":"calls","to":"bedrock","evidence":"tg-bot calls Bedrock via Portkey","reasoning":"verb 'calls' links subject tg-bot to object bedrock; canonical match 'calls'.","content":"tg-bot calls bedrock because it invokes Bedrock via Portkey for LLM inference"
|
|
100
|
+
→ {"from":"tg-bot","type":"calls","to":"bedrock","evidence":"tg-bot calls Bedrock via Portkey","reasoning":"verb 'calls' links subject tg-bot to object bedrock; canonical match 'calls'.","judgment":{"evidence_strength":0.9,"durability":"structural","directionality_clarity":"clear"},"confidence":0.9,"content":"tg-bot calls bedrock because it invokes Bedrock via Portkey for LLM inference"}
|
|
63
101
|
|
|
64
102
|
Entities: "lloyds", "cba"
|
|
65
103
|
Facts: "lloyds and cba are both production clusters in eu-west-2 and ap-southeast-2 respectively"
|
|
66
104
|
→ {"type":null,"reason":"facts describe peer cluster setup; no directed relation"}
|
|
105
|
+
|
|
106
|
+
Entities: "cba", "lloyds"
|
|
107
|
+
Facts: "CBA reverted from revision 27 to 26" / "Lloyds reverted from revision 34 to 33"
|
|
108
|
+
→ {"type":null,"reason":"independent ephemeral events; no durable relation between the two entities"}
|
|
109
|
+
|
|
110
|
+
Entities: "bikky", "qdrant"
|
|
111
|
+
Facts: "bikky stores all memory vectors in Qdrant Cloud" / "bikky daemon reads from and writes to the qdrant collection"
|
|
112
|
+
→ {"from":"bikky","type":"stores-in","to":"qdrant","evidence":"bikky stores all memory vectors in Qdrant Cloud","reasoning":"'stores … in' maps to stores-in; bikky is subject, qdrant is target datastore.","judgment":{"evidence_strength":1.0,"durability":"structural","directionality_clarity":"clear"},"confidence":1.0,"content":"bikky stores-in qdrant because it persists all memory vectors in Qdrant Cloud"}
|
|
67
113
|
</examples>
|
|
68
114
|
|
|
69
115
|
<format>
|
|
70
116
|
Output ONLY a JSON object — no prose, no fences. Use one of these shapes:
|
|
71
|
-
{"from":"<entity>","type":"<canonical-or-kebab-verb>","to":"<entity>","evidence":"<verbatim quote>","reasoning":"<one short sentence>","confidence":0.0-1.0,"content":"<full sentence>"}
|
|
117
|
+
{"from":"<entity>","type":"<canonical-or-kebab-verb>","to":"<entity>","evidence":"<verbatim quote>","reasoning":"<one short sentence>","judgment":{"evidence_strength":0.0-1.0,"durability":"structural|configuration|transient|ephemeral","directionality_clarity":"clear|ambiguous"},"confidence":0.0-1.0,"content":"<full sentence>"}
|
|
72
118
|
{"type":null,"reason":"<short explanation>"}
|
|
73
119
|
</format>
|
|
74
120
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/prompts/relations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAA8C,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,MAAM,2BAA2B,GAAqB;IAC3D,EAAE,EAAE,WAAW;IACf,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;EAsBb,uBAAuB,EAAE
|
|
1
|
+
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/prompts/relations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAA8C,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,MAAM,2BAA2B,GAAqB;IAC3D,EAAE,EAAE,WAAW;IACf,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;EAsBb,uBAAuB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAyFT,CAAC;AAQnB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAqB,EAAkB,EAAE;IACvE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,IAAI,GAAG;QACX,QAAQ,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,OAAO,GAAG,CAAC;QAClE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;KAC9B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO,SAAS,CAAC,2BAA2B,EAAE;QAC5C,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,GAAG;QACf,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;KACzC,CAAC,CAAC;AACL,CAAC,CAAC"}
|