@signetai/core 0.193.1 → 0.193.3
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/dist/database.d.ts +1 -0
- package/dist/database.d.ts.map +1 -1
- package/dist/export.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +508 -14
- package/dist/memory-content-safety.d.ts +27 -0
- package/dist/memory-content-safety.d.ts.map +1 -0
- package/dist/memory-context.d.ts +40 -0
- package/dist/memory-context.d.ts.map +1 -0
- package/dist/migrations/125-memory-content-safety.d.ts +3 -0
- package/dist/migrations/125-memory-content-safety.d.ts.map +1 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/prompt-context.d.ts.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/database.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare class Database {
|
|
|
27
27
|
getMemories(type?: string): Memory[];
|
|
28
28
|
getMemoryById(id: string): Memory | null;
|
|
29
29
|
updateMemory(id: string, updates: Partial<Memory>): void;
|
|
30
|
+
private recordMemoryContentSafety;
|
|
30
31
|
softDeleteMemory(id: string, deletedBy: string, reason?: string): void;
|
|
31
32
|
recoverMemory(id: string, recoveredBy: string): void;
|
|
32
33
|
addHistoryEvent(event: Omit<MemoryHistory, "id" | "createdAt">): string;
|
package/dist/database.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,KAAK,EAA2B,MAAM,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAsBxD,iBAAS,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAiI/C;AAED,yEAAyE;AACzE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAclD;AAcD,qBAAa,QAAQ;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAA+B;IACzC,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;IAKtD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiD3B,yDAAyD;IACzD,OAAO,CAAC,KAAK;IASb,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC,GAAG,MAAM;IAqCrF,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAUpC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMxC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IA6DxD,OAAO,CAAC,yBAAyB;IA4BjC,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAwBtE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAoBpD,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,MAAM;IA0BvE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE;IAc7C,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC,GAAG,MAAM;IA0BvF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAkC3C,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAc9C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAsBxC,WAAW,IAAI,MAAM;IAkBrB,KAAK,IAAI,IAAI;CAKb"}
|
package/dist/export.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,11 +14,14 @@ export type { ModelCatalogProvider, PipelineModelPreset } from "./llm-model-cata
|
|
|
14
14
|
export { parseManifest, generateManifest } from "./manifest";
|
|
15
15
|
export { parseSoul, generateSoul } from "./soul";
|
|
16
16
|
export { parseMemory, generateMemory, type ParsedMemory } from "./memory";
|
|
17
|
+
export { MEMORY_CONTENT_SAFETY_POLICY_VERSION, MEMORY_CONTENT_SAFETY_REASONS, MEMORY_CONTENT_SAFETY_STATUSES, MEMORY_CONTENT_WITHHELD_NOTICE, assessMemoryContent, isMemoryContentContextEligible, scanMemoryContent, } from "./memory-content-safety";
|
|
18
|
+
export type { MemoryContentSafetyAssessment, MemoryContentSafetyReason, MemoryContentSafetyStatus, } from "./memory-content-safety";
|
|
17
19
|
export { NETWORK_MODES, normalizeNetworkMode, networkModeFromBindHost, readNetworkMode, resolveNetworkBinding, } from "./network";
|
|
18
20
|
export type { NetworkMode } from "./network";
|
|
19
21
|
export { loadConfiguredHarnesses, parseHarnessList } from "./harness-config";
|
|
20
22
|
export { resolveSignetDaemonUrl } from "./daemon-url";
|
|
21
23
|
export type { SignetDaemonUrlOptions } from "./daemon-url";
|
|
24
|
+
export { composeApiUserContent, escapeMemoryContextForFence, StreamingMemoryContextScrubber, stripInternalMemoryContext, wrapMemoryContext, } from "./memory-context";
|
|
22
25
|
export { type WorkspaceSource, type WorkspaceResolution, type ResolveWorkspacePathOptions, WORKSPACE_ENV_KEYS, normalizeWorkspacePath, getWorkspaceConfigPath, readConfiguredWorkspacePath, writeConfiguredWorkspacePath, clearConfiguredWorkspacePath, resolveWorkspacePath, } from "./workspace";
|
|
23
26
|
export { search, vectorSearch, keywordSearch, hybridSearch, cosineSimilarity, buildFtsMatchQuery, type SearchOptions, type SearchResult, type VectorSearchOptions, type HybridSearchOptions, } from "./search";
|
|
24
27
|
export { applyRecallScoreThreshold, buildRecallRequestBody, buildRememberRequestBody, emptyHookRecallResponse, formatRecallText, normalizeStructuredMemoryPayload, parseRecallMeta, parseRecallPayload, partitionRecallRows, withHookRecallCompat, } from "./recall";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7406,6 +7406,107 @@ import { dirname, join } from "node:path";
|
|
|
7406
7406
|
import { arch, platform } from "node:process";
|
|
7407
7407
|
import { fileURLToPath } from "node:url";
|
|
7408
7408
|
|
|
7409
|
+
// src/memory-content-safety.ts
|
|
7410
|
+
var MEMORY_CONTENT_SAFETY_POLICY_VERSION = "memory-content-safety-v1";
|
|
7411
|
+
var MEMORY_CONTENT_WITHHELD_NOTICE = "[memory content withheld by safety policy]";
|
|
7412
|
+
var MEMORY_CONTENT_SAFETY_STATUSES = ["clean", "tainted", "blocked"];
|
|
7413
|
+
var MEMORY_CONTENT_SAFETY_REASONS = [
|
|
7414
|
+
"prompt_injection",
|
|
7415
|
+
"exfiltration",
|
|
7416
|
+
"credential_harvesting",
|
|
7417
|
+
"malicious_shell",
|
|
7418
|
+
"tool_directive",
|
|
7419
|
+
"invisible_unicode"
|
|
7420
|
+
];
|
|
7421
|
+
var INVISIBLE_UNICODE_RE = /(?:\u034f|[\u00ad\u061c\u070f\u180e\u200b\u200c\u200e\u200f\u202a-\u202e\u2060\u2066-\u2069\u206a-\u206f\ufeff]|[\u{e0000}-\u{e007f}])/u;
|
|
7422
|
+
var STRONG_DEFENSIVE_CONTEXT_RE = /\b(?:security\s+(?:guidance|discussion|analysis)|threat\s+model|defensive)\b/i;
|
|
7423
|
+
var REPORTING_CONTEXT_RE = /\b(?:example|illustrat\w*|sample|quote|quoted|detector|scanner|classif\w*)\b/i;
|
|
7424
|
+
var REPORTING_BEFORE_RE = /\b(?:example|illustrat\w*|sample|quote|quoted|detector|scanner|classif\w*)\b[\s\S]{0,80}\b(?:say\w*|read\w*|show\w*|flag\w*|detect\w*|describ\w*|demonstrat\w*|contain\w*|match\w*|pattern)\b/i;
|
|
7425
|
+
var REPORTING_AFTER_RE = /\b(?:detector|scanner|classif\w*|flag\w*|pattern|dangerous|unsafe|malicious|hostile|should|would|must|never|do not|don't|avoid|quoted)\b/i;
|
|
7426
|
+
var NEGATED_DIRECTIVE_RE = /\b(?:never|do not|don't|should not|must not|cannot|can't|avoid|prevent|detect|mitigat\w*)\b[\s\S]{0,80}$/i;
|
|
7427
|
+
var PROMPT_INJECTION_RES = [
|
|
7428
|
+
/\b(?:ignore|disregard|override|forget|bypass)\b[\s\S]{0,100}\b(?:previous|prior|above|earlier|system|developer|assistant|safety|security)?\s*(?:instructions?|rules?|prompt|message)\b/i,
|
|
7429
|
+
/\b(?:new|following|these)\s+(?:(?:system|developer|assistant|hidden)\s+)?instructions?\b/i,
|
|
7430
|
+
/(?:^|\n)\s*(?:system|developer|instruction|prompt)\s*:/im,
|
|
7431
|
+
/<\s*(?:system|developer|assistant|instruction|prompt)\b[^>]*>/i,
|
|
7432
|
+
/\b(?:you are now|act as|roleplay as|pretend to be)\b[\s\S]{0,80}\b(?:system|admin|developer|unrestricted|jailbreak|different agent)\b/i
|
|
7433
|
+
];
|
|
7434
|
+
var TOOL_DIRECTIVE_RES = [
|
|
7435
|
+
/<\s*(?:tool[_-]?call|function[_-]?call|invoke|tool)\b/i,
|
|
7436
|
+
/\b(?:assistant|system)\s+to\s*=\s*[a-z0-9_.-]+/i,
|
|
7437
|
+
/\b(?:call|invoke|use|run|execute)\s+(?:the\s+)?[a-z0-9_.-]+\s+tool\b/i
|
|
7438
|
+
];
|
|
7439
|
+
var EXFILTRATION_RE = /\b(?:reveal|show|print|send|upload|exfiltrat\w*|dump|forward|leak|transmit|export)\b[\s\S]{0,120}(?:\b(?:system\s+prompt|hidden\s+instructions?|secret(?:s)?|credential(?:s)?|password(?:s)?|api\s*keys?|tokens?|private\s+keys?|environment\s+variables?)\b|\.env\b|~\/(?:\.ssh)\/\S+|\/etc\/(?:shadow|passwd)\b)/i;
|
|
7440
|
+
var EXFILTRATION_REVERSE = /(?:\b(?:system\s+prompt|hidden\s+instructions?|secret(?:s)?|credential(?:s)?|password(?:s)?|api\s*keys?|tokens?|private\s+keys?|environment\s+variables?)\b|\.env\b|~\/(?:\.ssh)\/\S+|\/etc\/(?:shadow|passwd)\b)[\s\S]{0,120}\b(?:reveal|show|print|send|upload|exfiltrat\w*|dump|forward|leak|transmit|export)\b/i;
|
|
7441
|
+
var CREDENTIAL_HARVESTING_RE = /\b(?:enter|paste|provide|share|send|give|submit|type|hand over)\b[\s\S]{0,80}\b(?:password|api\s*key|token|secret|credential|private\s+key)\b/i;
|
|
7442
|
+
var DANGEROUS_SHELL_RE = /\b(?:curl|wget)\b[^\n]{0,240}\|\s*(?:ba|z|fi)?sh\b|\brm\s+-rf\s+(?:\/|~|\.ssh)[^\n]{0,240}|\b(?:cat|head|tail)\s+~\/?\.ssh\/(?:id_[a-z]+|authorized_keys)\b|\b(?:printenv|env)\b[^\n]{0,120}\b(?:curl|wget|send|upload|post)\b/i;
|
|
7443
|
+
function matchHasDefensiveContext(content, match) {
|
|
7444
|
+
if (!match || !match[0])
|
|
7445
|
+
return false;
|
|
7446
|
+
const start = match.index ?? 0;
|
|
7447
|
+
const before = content.slice(Math.max(0, start - 120), start);
|
|
7448
|
+
const after = content.slice(start + match[0].length, start + match[0].length + 160);
|
|
7449
|
+
return STRONG_DEFENSIVE_CONTEXT_RE.test(match[0]) || NEGATED_DIRECTIVE_RE.test(before) || STRONG_DEFENSIVE_CONTEXT_RE.test(before) || STRONG_DEFENSIVE_CONTEXT_RE.test(after) || REPORTING_BEFORE_RE.test(before) || REPORTING_CONTEXT_RE.test(before) && REPORTING_AFTER_RE.test(after);
|
|
7450
|
+
}
|
|
7451
|
+
function hasActionableMatch(content, patterns) {
|
|
7452
|
+
return patterns.some((pattern) => {
|
|
7453
|
+
const flags = pattern.flags.includes("g") ? pattern.flags : `${pattern.flags}g`;
|
|
7454
|
+
const searchable = new RegExp(pattern.source, flags);
|
|
7455
|
+
let match;
|
|
7456
|
+
while ((match = searchable.exec(content)) !== null) {
|
|
7457
|
+
if (!matchHasDefensiveContext(content, match))
|
|
7458
|
+
return true;
|
|
7459
|
+
if (match[0].length === 0)
|
|
7460
|
+
searchable.lastIndex += 1;
|
|
7461
|
+
}
|
|
7462
|
+
return false;
|
|
7463
|
+
});
|
|
7464
|
+
}
|
|
7465
|
+
function hasDangerousShell(content) {
|
|
7466
|
+
const searchable = new RegExp(DANGEROUS_SHELL_RE.source, `${DANGEROUS_SHELL_RE.flags}g`);
|
|
7467
|
+
let match;
|
|
7468
|
+
while ((match = searchable.exec(content)) !== null) {
|
|
7469
|
+
if (matchHasDefensiveContext(content, match))
|
|
7470
|
+
continue;
|
|
7471
|
+
const end = (match.index ?? 0) + match[0].length;
|
|
7472
|
+
const after = content.slice(end, end + 160);
|
|
7473
|
+
if (!STRONG_DEFENSIVE_CONTEXT_RE.test(after) && !REPORTING_AFTER_RE.test(after))
|
|
7474
|
+
return true;
|
|
7475
|
+
if (match[0].length === 0)
|
|
7476
|
+
searchable.lastIndex += 1;
|
|
7477
|
+
}
|
|
7478
|
+
return false;
|
|
7479
|
+
}
|
|
7480
|
+
function scanMemoryContent(content) {
|
|
7481
|
+
const raw = typeof content === "string" ? content : String(content ?? "");
|
|
7482
|
+
const normalized = raw.normalize("NFKC");
|
|
7483
|
+
const reasons = new Set;
|
|
7484
|
+
if (INVISIBLE_UNICODE_RE.test(raw))
|
|
7485
|
+
reasons.add("invisible_unicode");
|
|
7486
|
+
if (hasActionableMatch(normalized, PROMPT_INJECTION_RES))
|
|
7487
|
+
reasons.add("prompt_injection");
|
|
7488
|
+
if (hasActionableMatch(normalized, TOOL_DIRECTIVE_RES))
|
|
7489
|
+
reasons.add("tool_directive");
|
|
7490
|
+
if (hasActionableMatch(normalized, [EXFILTRATION_RE, EXFILTRATION_REVERSE]))
|
|
7491
|
+
reasons.add("exfiltration");
|
|
7492
|
+
if (hasActionableMatch(normalized, [CREDENTIAL_HARVESTING_RE]))
|
|
7493
|
+
reasons.add("credential_harvesting");
|
|
7494
|
+
if (hasDangerousShell(normalized))
|
|
7495
|
+
reasons.add("malicious_shell");
|
|
7496
|
+
const orderedReasons = MEMORY_CONTENT_SAFETY_REASONS.filter((reason) => reasons.has(reason));
|
|
7497
|
+
const status = orderedReasons.length === 0 ? "clean" : orderedReasons.every((reason) => reason === "invisible_unicode") ? "tainted" : "blocked";
|
|
7498
|
+
return {
|
|
7499
|
+
status,
|
|
7500
|
+
contextEligible: status === "clean",
|
|
7501
|
+
reasons: orderedReasons,
|
|
7502
|
+
policyVersion: MEMORY_CONTENT_SAFETY_POLICY_VERSION
|
|
7503
|
+
};
|
|
7504
|
+
}
|
|
7505
|
+
var assessMemoryContent = scanMemoryContent;
|
|
7506
|
+
function isMemoryContentContextEligible(value) {
|
|
7507
|
+
return typeof value === "string" ? scanMemoryContent(value).contextEligible : value.contextEligible;
|
|
7508
|
+
}
|
|
7509
|
+
|
|
7409
7510
|
// src/memory-provenance.ts
|
|
7410
7511
|
var DAEMON_DERIVED_MEMORY_SOURCE_TYPES = ["extract", "aggregate-recall", "session_end", "checkpoint", "dreaming"];
|
|
7411
7512
|
function isDaemonDerivedMemorySourceType(sourceType) {
|
|
@@ -11640,6 +11741,97 @@ function up124(db) {
|
|
|
11640
11741
|
`);
|
|
11641
11742
|
}
|
|
11642
11743
|
|
|
11744
|
+
// src/migrations/125-memory-content-safety.ts
|
|
11745
|
+
function tableExists2(db, table) {
|
|
11746
|
+
return db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(table) != null;
|
|
11747
|
+
}
|
|
11748
|
+
function hasColumn24(db, table, column) {
|
|
11749
|
+
return db.prepare(`PRAGMA table_info("${table}")`).all().some((row) => row.name === column);
|
|
11750
|
+
}
|
|
11751
|
+
function backfill(db, rows, sourceKind, scannedAt) {
|
|
11752
|
+
const statement = db.prepare(`INSERT INTO memory_content_safety
|
|
11753
|
+
(agent_id, source_kind, source_id, status, context_eligible, reasons_json, policy_version, scanned_at)
|
|
11754
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
11755
|
+
ON CONFLICT(agent_id, source_kind, source_id) DO UPDATE SET
|
|
11756
|
+
status = excluded.status,
|
|
11757
|
+
context_eligible = excluded.context_eligible,
|
|
11758
|
+
reasons_json = excluded.reasons_json,
|
|
11759
|
+
policy_version = excluded.policy_version,
|
|
11760
|
+
scanned_at = excluded.scanned_at`);
|
|
11761
|
+
for (const row of rows) {
|
|
11762
|
+
const sourceId = row.source_id?.trim();
|
|
11763
|
+
if (!sourceId)
|
|
11764
|
+
continue;
|
|
11765
|
+
const assessment = scanMemoryContent(row.content ?? "");
|
|
11766
|
+
statement.run(row.agent_id?.trim() || "default", sourceKind, sourceId, assessment.status, assessment.contextEligible ? 1 : 0, JSON.stringify(assessment.reasons), MEMORY_CONTENT_SAFETY_POLICY_VERSION, scannedAt);
|
|
11767
|
+
}
|
|
11768
|
+
}
|
|
11769
|
+
function backfillTable(db, params) {
|
|
11770
|
+
if (!tableExists2(db, params.table) || !hasColumn24(db, params.table, params.sourceIdColumn) || !hasColumn24(db, params.table, params.contentColumn))
|
|
11771
|
+
return;
|
|
11772
|
+
const agentColumn = hasColumn24(db, params.table, "agent_id") ? "COALESCE(NULLIF(TRIM(agent_id), ''), 'default')" : "'default'";
|
|
11773
|
+
const rows = db.prepare(`SELECT ${agentColumn} AS agent_id, ${params.sourceIdColumn} AS source_id, ${params.contentColumn} AS content
|
|
11774
|
+
FROM ${params.table}${params.where ? ` WHERE ${params.where}` : ""}`).all();
|
|
11775
|
+
backfill(db, rows, params.sourceKind, params.scannedAt);
|
|
11776
|
+
}
|
|
11777
|
+
function up125(db) {
|
|
11778
|
+
db.exec(`
|
|
11779
|
+
CREATE TABLE IF NOT EXISTS memory_content_safety (
|
|
11780
|
+
agent_id TEXT NOT NULL,
|
|
11781
|
+
source_kind TEXT NOT NULL CHECK (source_kind IN ('memory', 'artifact', 'transcript', 'summary', 'source_chunk')),
|
|
11782
|
+
source_id TEXT NOT NULL,
|
|
11783
|
+
status TEXT NOT NULL CHECK (status IN ('clean', 'tainted', 'blocked')),
|
|
11784
|
+
context_eligible INTEGER NOT NULL CHECK (context_eligible IN (0, 1)),
|
|
11785
|
+
reasons_json TEXT NOT NULL DEFAULT '[]',
|
|
11786
|
+
policy_version TEXT NOT NULL,
|
|
11787
|
+
scanned_at TEXT NOT NULL,
|
|
11788
|
+
PRIMARY KEY (agent_id, source_kind, source_id)
|
|
11789
|
+
);
|
|
11790
|
+
|
|
11791
|
+
CREATE INDEX IF NOT EXISTS idx_memory_content_safety_status
|
|
11792
|
+
ON memory_content_safety(agent_id, status, source_kind);
|
|
11793
|
+
CREATE INDEX IF NOT EXISTS idx_memory_content_safety_eligibility
|
|
11794
|
+
ON memory_content_safety(agent_id, source_kind, context_eligible);
|
|
11795
|
+
`);
|
|
11796
|
+
const scannedAt = new Date().toISOString();
|
|
11797
|
+
backfillTable(db, {
|
|
11798
|
+
table: "memories",
|
|
11799
|
+
sourceKind: "memory",
|
|
11800
|
+
sourceIdColumn: "id",
|
|
11801
|
+
contentColumn: "content",
|
|
11802
|
+
scannedAt
|
|
11803
|
+
});
|
|
11804
|
+
backfillTable(db, {
|
|
11805
|
+
table: "memory_artifacts",
|
|
11806
|
+
sourceKind: "artifact",
|
|
11807
|
+
sourceIdColumn: "source_path",
|
|
11808
|
+
contentColumn: "content",
|
|
11809
|
+
scannedAt
|
|
11810
|
+
});
|
|
11811
|
+
backfillTable(db, {
|
|
11812
|
+
table: "session_transcripts",
|
|
11813
|
+
sourceKind: "transcript",
|
|
11814
|
+
sourceIdColumn: "session_key",
|
|
11815
|
+
contentColumn: "content",
|
|
11816
|
+
scannedAt
|
|
11817
|
+
});
|
|
11818
|
+
backfillTable(db, {
|
|
11819
|
+
table: "session_summaries",
|
|
11820
|
+
sourceKind: "summary",
|
|
11821
|
+
sourceIdColumn: "id",
|
|
11822
|
+
contentColumn: "content",
|
|
11823
|
+
scannedAt
|
|
11824
|
+
});
|
|
11825
|
+
backfillTable(db, {
|
|
11826
|
+
table: "embeddings",
|
|
11827
|
+
sourceKind: "source_chunk",
|
|
11828
|
+
sourceIdColumn: "id",
|
|
11829
|
+
contentColumn: "chunk_text",
|
|
11830
|
+
where: "source_type IN ('source_chunk', 'source_obsidian_chunk')",
|
|
11831
|
+
scannedAt
|
|
11832
|
+
});
|
|
11833
|
+
}
|
|
11834
|
+
|
|
11643
11835
|
// src/migrations/index.ts
|
|
11644
11836
|
var MIGRATIONS = [
|
|
11645
11837
|
{
|
|
@@ -12649,6 +12841,12 @@ var MIGRATIONS = [
|
|
|
12649
12841
|
artifacts: {
|
|
12650
12842
|
tables: ["imported_source_lifecycle"]
|
|
12651
12843
|
}
|
|
12844
|
+
},
|
|
12845
|
+
{
|
|
12846
|
+
version: 125,
|
|
12847
|
+
name: "memory-content-safety",
|
|
12848
|
+
up: up125,
|
|
12849
|
+
artifacts: { tables: ["memory_content_safety"] }
|
|
12652
12850
|
}
|
|
12653
12851
|
];
|
|
12654
12852
|
function checksum(m) {
|
|
@@ -12998,6 +13196,7 @@ class Database {
|
|
|
12998
13196
|
tags, created_at, updated_at, updated_by, vector_clock,
|
|
12999
13197
|
manual_override, memory_kind)
|
|
13000
13198
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(id, memory.type, memory.category ?? null, memory.content, memory.confidence, memory.sourceId ?? null, memory.sourceType ?? null, memory.sourcePath ?? null, memory.runtimePath ?? null, memory.idempotencyKey ?? null, JSON.stringify(memory.tags), now, now, memory.updatedBy, JSON.stringify(memory.vectorClock), memory.manualOverride ? 1 : 0, isDaemonDerivedMemorySourceType(memory.sourceType) ? null : "episodic");
|
|
13199
|
+
this.recordMemoryContentSafety(id, memory.content, "default");
|
|
13001
13200
|
return id;
|
|
13002
13201
|
}
|
|
13003
13202
|
getMemories(type) {
|
|
@@ -13053,11 +13252,31 @@ class Database {
|
|
|
13053
13252
|
}
|
|
13054
13253
|
if (sets.length === 0)
|
|
13055
13254
|
return;
|
|
13255
|
+
const owner = this.getDb().prepare("SELECT agent_id FROM memories WHERE id = ?").get(id);
|
|
13056
13256
|
sets.push("updated_at = ?");
|
|
13057
13257
|
values.push(new Date().toISOString());
|
|
13058
13258
|
sets.push("update_count = COALESCE(update_count, 0) + 1");
|
|
13059
13259
|
values.push(id);
|
|
13060
13260
|
this.getDb().prepare(`UPDATE memories SET ${sets.join(", ")} WHERE id = ?`).run(...values);
|
|
13261
|
+
if (typeof updates.content === "string") {
|
|
13262
|
+
this.recordMemoryContentSafety(id, updates.content, owner?.agent_id?.trim() || "default");
|
|
13263
|
+
}
|
|
13264
|
+
}
|
|
13265
|
+
recordMemoryContentSafety(id, content, agentId) {
|
|
13266
|
+
const db = this.getDb();
|
|
13267
|
+
const table = db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get("memory_content_safety");
|
|
13268
|
+
if (table == null)
|
|
13269
|
+
return;
|
|
13270
|
+
const assessment = scanMemoryContent(content);
|
|
13271
|
+
db.prepare(`INSERT INTO memory_content_safety
|
|
13272
|
+
(agent_id, source_kind, source_id, status, context_eligible, reasons_json, policy_version, scanned_at)
|
|
13273
|
+
VALUES (?, 'memory', ?, ?, ?, ?, ?, ?)
|
|
13274
|
+
ON CONFLICT(agent_id, source_kind, source_id) DO UPDATE SET
|
|
13275
|
+
status = excluded.status,
|
|
13276
|
+
context_eligible = excluded.context_eligible,
|
|
13277
|
+
reasons_json = excluded.reasons_json,
|
|
13278
|
+
policy_version = excluded.policy_version,
|
|
13279
|
+
scanned_at = excluded.scanned_at`).run(agentId, id, assessment.status, assessment.contextEligible ? 1 : 0, JSON.stringify(assessment.reasons), MEMORY_CONTENT_SAFETY_POLICY_VERSION, new Date().toISOString());
|
|
13061
13280
|
}
|
|
13062
13281
|
softDeleteMemory(id, deletedBy, reason) {
|
|
13063
13282
|
const now = new Date().toISOString();
|
|
@@ -13847,6 +14066,245 @@ function resolveSignetDaemonUrl(opts = {}) {
|
|
|
13847
14066
|
const port = normalizePort(readEnv(env, "SIGNET_PORT"), fallbackPort);
|
|
13848
14067
|
return normalizeDaemonUrl(`http://${bracketIpv6Host(host)}:${port}`, "SIGNET_HOST/SIGNET_PORT");
|
|
13849
14068
|
}
|
|
14069
|
+
// src/memory-context.ts
|
|
14070
|
+
var INTERNAL_FENCE_NAMES = ["signet-memory-context", "signet-memory", "memory-context"];
|
|
14071
|
+
var FENCE_PREFIXES = [
|
|
14072
|
+
"<signet-memory",
|
|
14073
|
+
"<\\/signet-memory",
|
|
14074
|
+
"</signet-memory",
|
|
14075
|
+
"<signet-memory-context",
|
|
14076
|
+
"<\\/signet-memory-context",
|
|
14077
|
+
"</signet-memory-context",
|
|
14078
|
+
"<memory-context",
|
|
14079
|
+
"<\\/memory-context",
|
|
14080
|
+
"</memory-context"
|
|
14081
|
+
];
|
|
14082
|
+
function isFenceWhitespace(character) {
|
|
14083
|
+
return character === " " || character === "\t" || character === "\r" || character === `
|
|
14084
|
+
`;
|
|
14085
|
+
}
|
|
14086
|
+
function readFenceName(text, start) {
|
|
14087
|
+
for (const name of INTERNAL_FENCE_NAMES) {
|
|
14088
|
+
if (text.slice(start, start + name.length).toLowerCase() === name)
|
|
14089
|
+
return name;
|
|
14090
|
+
}
|
|
14091
|
+
return;
|
|
14092
|
+
}
|
|
14093
|
+
function parseFenceAt(text, index) {
|
|
14094
|
+
if (text[index] !== "<")
|
|
14095
|
+
return;
|
|
14096
|
+
let cursor = index + 1;
|
|
14097
|
+
if (text[cursor] === "\\")
|
|
14098
|
+
cursor += 1;
|
|
14099
|
+
while (isFenceWhitespace(text[cursor]))
|
|
14100
|
+
cursor += 1;
|
|
14101
|
+
const isClose = text[cursor] === "/";
|
|
14102
|
+
if (isClose)
|
|
14103
|
+
cursor += 1;
|
|
14104
|
+
while (isFenceWhitespace(text[cursor]))
|
|
14105
|
+
cursor += 1;
|
|
14106
|
+
const name = readFenceName(text, cursor);
|
|
14107
|
+
if (!name)
|
|
14108
|
+
return;
|
|
14109
|
+
const afterName = cursor + name.length;
|
|
14110
|
+
const boundary = text[afterName];
|
|
14111
|
+
if (!isClose && !isFenceWhitespace(boundary) && boundary !== "/" && boundary !== ">")
|
|
14112
|
+
return;
|
|
14113
|
+
cursor = afterName;
|
|
14114
|
+
if (isClose) {
|
|
14115
|
+
while (isFenceWhitespace(text[cursor]))
|
|
14116
|
+
cursor += 1;
|
|
14117
|
+
if (text[cursor] === ">")
|
|
14118
|
+
return { kind: "close", end: cursor + 1 };
|
|
14119
|
+
return cursor >= text.length ? { incomplete: true } : undefined;
|
|
14120
|
+
}
|
|
14121
|
+
let quote;
|
|
14122
|
+
while (cursor < text.length) {
|
|
14123
|
+
const character = text[cursor];
|
|
14124
|
+
if (quote) {
|
|
14125
|
+
if (character === quote)
|
|
14126
|
+
quote = undefined;
|
|
14127
|
+
} else if (character === '"' || character === "'") {
|
|
14128
|
+
quote = character;
|
|
14129
|
+
} else if (character === ">") {
|
|
14130
|
+
return { kind: "open", end: cursor + 1 };
|
|
14131
|
+
}
|
|
14132
|
+
cursor += 1;
|
|
14133
|
+
}
|
|
14134
|
+
return { incomplete: true };
|
|
14135
|
+
}
|
|
14136
|
+
function findNextFence(text, startIndex = 0) {
|
|
14137
|
+
for (let index = startIndex;index < text.length; index += 1) {
|
|
14138
|
+
if (text[index] !== "<")
|
|
14139
|
+
continue;
|
|
14140
|
+
const parsed = parseFenceAt(text, index);
|
|
14141
|
+
if (!parsed)
|
|
14142
|
+
continue;
|
|
14143
|
+
if ("incomplete" in parsed)
|
|
14144
|
+
return { kind: "open", match: { index, end: text.length } };
|
|
14145
|
+
return { kind: parsed.kind, match: { index, end: parsed.end } };
|
|
14146
|
+
}
|
|
14147
|
+
return;
|
|
14148
|
+
}
|
|
14149
|
+
function stripInternalMemoryContext(text) {
|
|
14150
|
+
let remaining = text;
|
|
14151
|
+
let output = "";
|
|
14152
|
+
while (remaining.length > 0) {
|
|
14153
|
+
const next = findNextFence(remaining);
|
|
14154
|
+
if (!next)
|
|
14155
|
+
return output + remaining;
|
|
14156
|
+
output += remaining.slice(0, next.match.index);
|
|
14157
|
+
remaining = remaining.slice(next.match.end);
|
|
14158
|
+
if (next.kind === "close")
|
|
14159
|
+
continue;
|
|
14160
|
+
let depth = 1;
|
|
14161
|
+
while (depth > 0) {
|
|
14162
|
+
const nested = findNextFence(remaining);
|
|
14163
|
+
if (!nested)
|
|
14164
|
+
return output;
|
|
14165
|
+
remaining = remaining.slice(nested.match.end);
|
|
14166
|
+
if (nested.kind === "open") {
|
|
14167
|
+
depth += 1;
|
|
14168
|
+
} else {
|
|
14169
|
+
depth -= 1;
|
|
14170
|
+
}
|
|
14171
|
+
}
|
|
14172
|
+
}
|
|
14173
|
+
return output;
|
|
14174
|
+
}
|
|
14175
|
+
function escapeMemoryContextForFence(text) {
|
|
14176
|
+
let output = "";
|
|
14177
|
+
let cursor = 0;
|
|
14178
|
+
let next = findNextFence(text);
|
|
14179
|
+
while (next) {
|
|
14180
|
+
output += text.slice(cursor, next.match.index);
|
|
14181
|
+
output += `<${text.slice(next.match.index + 1, next.match.end)}`;
|
|
14182
|
+
cursor = next.match.end;
|
|
14183
|
+
next = findNextFence(text, cursor);
|
|
14184
|
+
}
|
|
14185
|
+
return output + text.slice(cursor);
|
|
14186
|
+
}
|
|
14187
|
+
function wrapMemoryContext(context, source = "api-context") {
|
|
14188
|
+
const clean = escapeMemoryContextForFence(context).trim();
|
|
14189
|
+
if (!clean)
|
|
14190
|
+
return "";
|
|
14191
|
+
const safeSource = source.replace(/[^a-zA-Z0-9._-]/g, "-").slice(0, 40) || "api-context";
|
|
14192
|
+
return `<signet-memory source="${safeSource}">
|
|
14193
|
+
${clean}
|
|
14194
|
+
</signet-memory>`;
|
|
14195
|
+
}
|
|
14196
|
+
function composeApiUserContent(userContent, dynamicContext) {
|
|
14197
|
+
const cleanUserContent = stripInternalMemoryContext(userContent);
|
|
14198
|
+
const contextBlock = wrapMemoryContext(dynamicContext);
|
|
14199
|
+
if (!contextBlock)
|
|
14200
|
+
return cleanUserContent;
|
|
14201
|
+
return `${cleanUserContent}
|
|
14202
|
+
|
|
14203
|
+
${contextBlock}`;
|
|
14204
|
+
}
|
|
14205
|
+
function partialFenceSuffixLength(text) {
|
|
14206
|
+
const lower = text.toLowerCase();
|
|
14207
|
+
let longest = 0;
|
|
14208
|
+
for (const prefix of FENCE_PREFIXES) {
|
|
14209
|
+
const candidate = prefix.toLowerCase();
|
|
14210
|
+
const max = Math.min(candidate.length, lower.length);
|
|
14211
|
+
for (let length = max;length > longest; length--) {
|
|
14212
|
+
if (lower.endsWith(candidate.slice(0, length))) {
|
|
14213
|
+
longest = length;
|
|
14214
|
+
break;
|
|
14215
|
+
}
|
|
14216
|
+
}
|
|
14217
|
+
}
|
|
14218
|
+
for (const prefix of FENCE_PREFIXES) {
|
|
14219
|
+
const candidate = prefix.toLowerCase();
|
|
14220
|
+
const start = lower.lastIndexOf(candidate);
|
|
14221
|
+
if (start === -1)
|
|
14222
|
+
continue;
|
|
14223
|
+
const tail = text.slice(start);
|
|
14224
|
+
if (tail.length === candidate.length) {
|
|
14225
|
+
longest = Math.max(longest, tail.length);
|
|
14226
|
+
continue;
|
|
14227
|
+
}
|
|
14228
|
+
const firstSuffixCharacter = tail[candidate.length];
|
|
14229
|
+
if (!firstSuffixCharacter || !/[\s/>]/.test(firstSuffixCharacter))
|
|
14230
|
+
continue;
|
|
14231
|
+
let quote;
|
|
14232
|
+
let complete = false;
|
|
14233
|
+
for (let index = candidate.length;index < tail.length; index += 1) {
|
|
14234
|
+
const character = tail[index];
|
|
14235
|
+
if (quote) {
|
|
14236
|
+
if (character === quote)
|
|
14237
|
+
quote = undefined;
|
|
14238
|
+
continue;
|
|
14239
|
+
}
|
|
14240
|
+
if (character === '"' || character === "'") {
|
|
14241
|
+
quote = character;
|
|
14242
|
+
} else if (character === ">") {
|
|
14243
|
+
complete = true;
|
|
14244
|
+
break;
|
|
14245
|
+
}
|
|
14246
|
+
}
|
|
14247
|
+
if (complete)
|
|
14248
|
+
continue;
|
|
14249
|
+
longest = Math.max(longest, tail.length);
|
|
14250
|
+
}
|
|
14251
|
+
return longest;
|
|
14252
|
+
}
|
|
14253
|
+
|
|
14254
|
+
class StreamingMemoryContextScrubber {
|
|
14255
|
+
buffer = "";
|
|
14256
|
+
fenceDepth = 0;
|
|
14257
|
+
feed(chunk) {
|
|
14258
|
+
if (!chunk)
|
|
14259
|
+
return "";
|
|
14260
|
+
this.buffer += chunk;
|
|
14261
|
+
let output = "";
|
|
14262
|
+
while (this.buffer.length > 0) {
|
|
14263
|
+
if (this.fenceDepth > 0) {
|
|
14264
|
+
const next2 = findNextFence(this.buffer);
|
|
14265
|
+
if (!next2)
|
|
14266
|
+
return output;
|
|
14267
|
+
this.buffer = this.buffer.slice(next2.match.end);
|
|
14268
|
+
if (next2.kind === "open") {
|
|
14269
|
+
this.fenceDepth += 1;
|
|
14270
|
+
} else {
|
|
14271
|
+
this.fenceDepth -= 1;
|
|
14272
|
+
}
|
|
14273
|
+
continue;
|
|
14274
|
+
}
|
|
14275
|
+
const next = findNextFence(this.buffer);
|
|
14276
|
+
if (!next) {
|
|
14277
|
+
const held = partialFenceSuffixLength(this.buffer);
|
|
14278
|
+
const safeLength = this.buffer.length - held;
|
|
14279
|
+
if (safeLength > 0)
|
|
14280
|
+
output += this.buffer.slice(0, safeLength);
|
|
14281
|
+
this.buffer = held > 0 ? this.buffer.slice(safeLength) : "";
|
|
14282
|
+
return output;
|
|
14283
|
+
}
|
|
14284
|
+
output += this.buffer.slice(0, next.match.index);
|
|
14285
|
+
this.buffer = this.buffer.slice(next.match.end);
|
|
14286
|
+
if (next.kind === "open")
|
|
14287
|
+
this.fenceDepth = 1;
|
|
14288
|
+
}
|
|
14289
|
+
return output;
|
|
14290
|
+
}
|
|
14291
|
+
flush() {
|
|
14292
|
+
if (this.fenceDepth > 0) {
|
|
14293
|
+
this.buffer = "";
|
|
14294
|
+
this.fenceDepth = 0;
|
|
14295
|
+
return "";
|
|
14296
|
+
}
|
|
14297
|
+
const held = partialFenceSuffixLength(this.buffer);
|
|
14298
|
+
const safeLength = this.buffer.length - held;
|
|
14299
|
+
const output = safeLength > 0 ? this.buffer.slice(0, safeLength) : "";
|
|
14300
|
+
this.buffer = "";
|
|
14301
|
+
return output;
|
|
14302
|
+
}
|
|
14303
|
+
reset() {
|
|
14304
|
+
this.buffer = "";
|
|
14305
|
+
this.fenceDepth = 0;
|
|
14306
|
+
}
|
|
14307
|
+
}
|
|
13850
14308
|
// src/workspace.ts
|
|
13851
14309
|
import { existsSync as existsSync4, mkdirSync as mkdirSync2, readFileSync as readFileSync3, rmSync, statSync, writeFileSync as writeFileSync2 } from "node:fs";
|
|
13852
14310
|
import { homedir as homedir3 } from "node:os";
|
|
@@ -14123,24 +14581,30 @@ function hybridSearch(db, queryVector, queryText, options) {
|
|
|
14123
14581
|
}
|
|
14124
14582
|
scored.sort((a, b) => b.score - a.score);
|
|
14125
14583
|
}
|
|
14126
|
-
const
|
|
14127
|
-
if (
|
|
14584
|
+
const candidateIds = scored.map((s) => s.id);
|
|
14585
|
+
if (candidateIds.length === 0) {
|
|
14128
14586
|
return [];
|
|
14129
14587
|
}
|
|
14130
|
-
const
|
|
14131
|
-
let
|
|
14132
|
-
|
|
14133
|
-
|
|
14134
|
-
|
|
14135
|
-
|
|
14136
|
-
|
|
14137
|
-
|
|
14588
|
+
const rowMap = new Map;
|
|
14589
|
+
for (let offset = 0;offset < candidateIds.length; offset += 400) {
|
|
14590
|
+
const batch = candidateIds.slice(offset, offset + 400);
|
|
14591
|
+
const placeholders = batch.map(() => "?").join(", ");
|
|
14592
|
+
const params = [...batch];
|
|
14593
|
+
const typeFilter = options?.type ? " AND type = ?" : "";
|
|
14594
|
+
if (options?.type)
|
|
14595
|
+
params.push(options.type);
|
|
14596
|
+
const rows = db.prepare(`
|
|
14138
14597
|
SELECT id, content, type, tags, confidence
|
|
14139
14598
|
FROM memories
|
|
14140
14599
|
WHERE id IN (${placeholders})${typeFilter}
|
|
14141
14600
|
`).all(...params);
|
|
14142
|
-
|
|
14143
|
-
|
|
14601
|
+
for (const row of rows)
|
|
14602
|
+
rowMap.set(row.id, row);
|
|
14603
|
+
}
|
|
14604
|
+
return scored.filter((s) => {
|
|
14605
|
+
const row = rowMap.get(s.id);
|
|
14606
|
+
return row !== undefined && scanMemoryContent(row.content).contextEligible;
|
|
14607
|
+
}).slice(0, limit).map((s) => {
|
|
14144
14608
|
const r = rowMap.get(s.id);
|
|
14145
14609
|
if (!r)
|
|
14146
14610
|
return null;
|
|
@@ -14185,7 +14649,7 @@ async function search(db, options) {
|
|
|
14185
14649
|
try {
|
|
14186
14650
|
const wrapper = db;
|
|
14187
14651
|
const memories = typeof wrapper.getMemories === "function" ? wrapper.getMemories(options.type) : [];
|
|
14188
|
-
return memories.filter((m) => m.content.toLowerCase().includes(query.toLowerCase())).slice(0, limit).map((m) => ({
|
|
14652
|
+
return memories.filter((m) => scanMemoryContent(m.content).contextEligible && m.content.toLowerCase().includes(query.toLowerCase())).slice(0, limit).map((m) => ({
|
|
14189
14653
|
id: m.id,
|
|
14190
14654
|
content: m.content,
|
|
14191
14655
|
score: 1,
|
|
@@ -14633,7 +15097,7 @@ function hashPromptContext(serialized) {
|
|
|
14633
15097
|
return createHash2("sha256").update(serialized).digest("hex");
|
|
14634
15098
|
}
|
|
14635
15099
|
function escapeNestedMarkers(content) {
|
|
14636
|
-
return content
|
|
15100
|
+
return escapeMemoryContextForFence(content);
|
|
14637
15101
|
}
|
|
14638
15102
|
function createPromptContext(content) {
|
|
14639
15103
|
const normalized = normalizePromptContext(content);
|
|
@@ -16285,6 +16749,21 @@ var LEGACY_OBSIDIAN_CHUNK_SOURCE_TYPE = "source_obsidian_chunk";
|
|
|
16285
16749
|
// src/export.ts
|
|
16286
16750
|
import { existsSync as existsSync8, readFileSync as readFileSync6, readdirSync as readdirSync3, statSync as statSync4 } from "node:fs";
|
|
16287
16751
|
import { join as join8 } from "node:path";
|
|
16752
|
+
function recordImportedMemoryContentSafety(db, memoryId, content) {
|
|
16753
|
+
if (db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get("memory_content_safety") == null) {
|
|
16754
|
+
return;
|
|
16755
|
+
}
|
|
16756
|
+
const assessment = scanMemoryContent(content);
|
|
16757
|
+
db.prepare(`INSERT INTO memory_content_safety
|
|
16758
|
+
(agent_id, source_kind, source_id, status, context_eligible, reasons_json, policy_version, scanned_at)
|
|
16759
|
+
VALUES ('default', 'memory', ?, ?, ?, ?, ?, ?)
|
|
16760
|
+
ON CONFLICT(agent_id, source_kind, source_id) DO UPDATE SET
|
|
16761
|
+
status = excluded.status,
|
|
16762
|
+
context_eligible = excluded.context_eligible,
|
|
16763
|
+
reasons_json = excluded.reasons_json,
|
|
16764
|
+
policy_version = excluded.policy_version,
|
|
16765
|
+
scanned_at = excluded.scanned_at`).run(memoryId, assessment.status, assessment.contextEligible ? 1 : 0, JSON.stringify(assessment.reasons), MEMORY_CONTENT_SAFETY_POLICY_VERSION, new Date().toISOString());
|
|
16766
|
+
}
|
|
16288
16767
|
var IDENTITY_FILE_NAMES = [
|
|
16289
16768
|
"AGENTS.md",
|
|
16290
16769
|
"SOUL.md",
|
|
@@ -16426,6 +16905,7 @@ function importMemories(db, memoriesJsonl, options = {}) {
|
|
|
16426
16905
|
SET content = ?, type = ?, importance = ?, tags = ?,
|
|
16427
16906
|
who = ?, project = ?, updated_at = ?
|
|
16428
16907
|
WHERE id = ?`).run(mem.content, mem.type, mem.importance ?? 0.3, mem.tags ?? null, mem.who ?? null, mem.project ?? null, new Date().toISOString(), id);
|
|
16908
|
+
recordImportedMemoryContentSafety(db, id, String(mem.content ?? ""));
|
|
16429
16909
|
imported++;
|
|
16430
16910
|
continue;
|
|
16431
16911
|
}
|
|
@@ -16434,6 +16914,8 @@ function importMemories(db, memoriesJsonl, options = {}) {
|
|
|
16434
16914
|
(id, content, type, category, confidence, source_type,
|
|
16435
16915
|
tags, importance, pinned, who, project, created_at, updated_at)
|
|
16436
16916
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(id, mem.content, mem.type ?? "fact", mem.category ?? null, mem.confidence ?? 0.8, mem.source_type ?? "import", mem.tags ?? null, mem.importance ?? 0.3, mem.pinned ?? 0, mem.who ?? null, mem.project ?? null, mem.created_at ?? new Date().toISOString(), mem.updated_at ?? new Date().toISOString());
|
|
16917
|
+
const stored = db.prepare("SELECT content FROM memories WHERE id = ?").get(id);
|
|
16918
|
+
recordImportedMemoryContentSafety(db, id, String(stored?.content ?? ""));
|
|
16437
16919
|
imported++;
|
|
16438
16920
|
}
|
|
16439
16921
|
db.exec("COMMIT");
|
|
@@ -19539,6 +20021,7 @@ export {
|
|
|
19539
20021
|
writeConfiguredWorkspacePath,
|
|
19540
20022
|
writeConfiguredPiAgentDir,
|
|
19541
20023
|
writeConfiguredOhMyPiAgentDir,
|
|
20024
|
+
wrapMemoryContext,
|
|
19542
20025
|
withHookRecallCompat,
|
|
19543
20026
|
vectorSearch,
|
|
19544
20027
|
validateRoutingReferences,
|
|
@@ -19552,12 +20035,14 @@ export {
|
|
|
19552
20035
|
summarizeIdentity,
|
|
19553
20036
|
summarizeAccountingProvenance,
|
|
19554
20037
|
stripSignetBlock,
|
|
20038
|
+
stripInternalMemoryContext,
|
|
19555
20039
|
stringifyYamlDocument,
|
|
19556
20040
|
setPipelinePaused,
|
|
19557
20041
|
setGraphiqActiveProject,
|
|
19558
20042
|
serializeExportData,
|
|
19559
20043
|
search,
|
|
19560
20044
|
scrubPromptContext,
|
|
20045
|
+
scanMemoryContent,
|
|
19561
20046
|
scaffoldAgent,
|
|
19562
20047
|
saveSourcesConfig,
|
|
19563
20048
|
runMigrations,
|
|
@@ -19638,6 +20123,7 @@ export {
|
|
|
19638
20123
|
isSignetGitTrackedPath,
|
|
19639
20124
|
isSignetGitProtectedPath,
|
|
19640
20125
|
isPipelineProvider,
|
|
20126
|
+
isMemoryContentContextEligible,
|
|
19641
20127
|
isLocalInferenceEndpoint,
|
|
19642
20128
|
isDaemonDerivedMemorySourceType,
|
|
19643
20129
|
inactivePackageManagerInstallations,
|
|
@@ -19673,6 +20159,7 @@ export {
|
|
|
19673
20159
|
findPipelineConfigFile,
|
|
19674
20160
|
extractSignetBlock,
|
|
19675
20161
|
expandHome,
|
|
20162
|
+
escapeMemoryContextForFence,
|
|
19676
20163
|
ensureUnifiedSchema,
|
|
19677
20164
|
ensureMigrationsTableSchema,
|
|
19678
20165
|
enableGraphiqState,
|
|
@@ -19689,6 +20176,7 @@ export {
|
|
|
19689
20176
|
createMemoriesFts,
|
|
19690
20177
|
cosineSimilarity,
|
|
19691
20178
|
configuredRoutingTargetRefs,
|
|
20179
|
+
composeApiUserContent,
|
|
19692
20180
|
collectExportData,
|
|
19693
20181
|
clearConfiguredWorkspacePath,
|
|
19694
20182
|
clearConfiguredPiAgentDir,
|
|
@@ -19701,6 +20189,7 @@ export {
|
|
|
19701
20189
|
buildFtsMatchQuery,
|
|
19702
20190
|
buildArchitectureDoc,
|
|
19703
20191
|
buildAgentMemoryConfig,
|
|
20192
|
+
assessMemoryContent,
|
|
19704
20193
|
applyRecallScoreThreshold,
|
|
19705
20194
|
allTargetRefs,
|
|
19706
20195
|
addObsidianSource,
|
|
@@ -19713,6 +20202,7 @@ export {
|
|
|
19713
20202
|
TELEMETRY_DEPLOYMENT_ROLES,
|
|
19714
20203
|
TASK_STATUSES,
|
|
19715
20204
|
TASK_HARNESSES,
|
|
20205
|
+
StreamingMemoryContextScrubber,
|
|
19716
20206
|
Signet,
|
|
19717
20207
|
SYNTHESIS_PROVIDER_CHOICES,
|
|
19718
20208
|
STATIC_IDENTITY_SESSION_START_TIMEOUT_STATUS,
|
|
@@ -19762,6 +20252,10 @@ export {
|
|
|
19762
20252
|
MODEL_DEFAULTS,
|
|
19763
20253
|
MIGRATIONS,
|
|
19764
20254
|
MEMORY_TYPES,
|
|
20255
|
+
MEMORY_CONTENT_WITHHELD_NOTICE,
|
|
20256
|
+
MEMORY_CONTENT_SAFETY_STATUSES,
|
|
20257
|
+
MEMORY_CONTENT_SAFETY_REASONS,
|
|
20258
|
+
MEMORY_CONTENT_SAFETY_POLICY_VERSION,
|
|
19765
20259
|
MAX_GITHUB_MAX_ITEMS_PER_REPO,
|
|
19766
20260
|
MAX_DISCORD_MAX_MESSAGES_PER_CHANNEL,
|
|
19767
20261
|
MAX_DISCORD_MAX_ATTACHMENT_TEXT_BYTES,
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic content-safety policy for memory projections.
|
|
3
|
+
*
|
|
4
|
+
* Memory rows and source artifacts are evidence. This policy never rewrites or
|
|
5
|
+
* deletes that evidence; it only decides whether a derived prompt-facing
|
|
6
|
+
* projection may use it. Keep the rules deliberately high-confidence so
|
|
7
|
+
* normal technical writing, shell examples, and security guidance remain
|
|
8
|
+
* usable while instruction-shaped payloads are withheld from context.
|
|
9
|
+
*/
|
|
10
|
+
export declare const MEMORY_CONTENT_SAFETY_POLICY_VERSION = "memory-content-safety-v1";
|
|
11
|
+
export declare const MEMORY_CONTENT_WITHHELD_NOTICE = "[memory content withheld by safety policy]";
|
|
12
|
+
export declare const MEMORY_CONTENT_SAFETY_STATUSES: readonly ["clean", "tainted", "blocked"];
|
|
13
|
+
export type MemoryContentSafetyStatus = (typeof MEMORY_CONTENT_SAFETY_STATUSES)[number];
|
|
14
|
+
export declare const MEMORY_CONTENT_SAFETY_REASONS: readonly ["prompt_injection", "exfiltration", "credential_harvesting", "malicious_shell", "tool_directive", "invisible_unicode"];
|
|
15
|
+
export type MemoryContentSafetyReason = (typeof MEMORY_CONTENT_SAFETY_REASONS)[number];
|
|
16
|
+
export interface MemoryContentSafetyAssessment {
|
|
17
|
+
readonly status: MemoryContentSafetyStatus;
|
|
18
|
+
readonly contextEligible: boolean;
|
|
19
|
+
readonly reasons: readonly MemoryContentSafetyReason[];
|
|
20
|
+
readonly policyVersion: string;
|
|
21
|
+
}
|
|
22
|
+
/** Scan content without retaining or returning matched secret-like text. */
|
|
23
|
+
export declare function scanMemoryContent(content: string): MemoryContentSafetyAssessment;
|
|
24
|
+
/** Descriptive alias for callers that prefer assessment terminology. */
|
|
25
|
+
export declare const assessMemoryContent: typeof scanMemoryContent;
|
|
26
|
+
export declare function isMemoryContentContextEligible(value: MemoryContentSafetyAssessment | string): boolean;
|
|
27
|
+
//# sourceMappingURL=memory-content-safety.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-content-safety.d.ts","sourceRoot":"","sources":["../src/memory-content-safety.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,oCAAoC,6BAA6B,CAAC;AAC/E,eAAO,MAAM,8BAA8B,+CAA+C,CAAC;AAE3F,eAAO,MAAM,8BAA8B,0CAA2C,CAAC;AACvF,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAExF,eAAO,MAAM,6BAA6B,kIAOhC,CAAC;AACX,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvF,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAC/B;AA6ED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,6BAA6B,CA4BhF;AAED,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,0BAAoB,CAAC;AAErD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,6BAA6B,GAAG,MAAM,GAAG,OAAO,CAErG"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for keeping Signet's injected memory context separate from a
|
|
3
|
+
* harness' canonical conversation.
|
|
4
|
+
*
|
|
5
|
+
* The delimiters are transport markers, not user-visible content. Harnesses
|
|
6
|
+
* may use the wrapped form when they need to put dynamic context in an API
|
|
7
|
+
* copy of a user message, and must pass provider output through the streaming
|
|
8
|
+
* scrubber before displaying it.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Remove internal memory blocks and orphaned delimiters from canonical text.
|
|
12
|
+
*
|
|
13
|
+
* An unterminated opening delimiter drops the remainder of the value. This
|
|
14
|
+
* is intentional: retaining a partial provider block would make a transcript
|
|
15
|
+
* or recall query depend on transport state and could leak hidden context.
|
|
16
|
+
*/
|
|
17
|
+
export declare function stripInternalMemoryContext(text: string): string;
|
|
18
|
+
/** Escape delimiters found inside memory content before it is wrapped. */
|
|
19
|
+
export declare function escapeMemoryContextForFence(text: string): string;
|
|
20
|
+
/** Build the provider-bound wrapper for dynamic context. */
|
|
21
|
+
export declare function wrapMemoryContext(context: string, source?: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Compose the API-only copy of a user message. The caller must persist the
|
|
24
|
+
* original user message, not this returned value.
|
|
25
|
+
*/
|
|
26
|
+
export declare function composeApiUserContent(userContent: string, dynamicContext: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Streaming equivalent of stripInternalMemoryContext.
|
|
29
|
+
*
|
|
30
|
+
* Delimiter prefixes are retained between feeds, so a marker split across
|
|
31
|
+
* provider chunks cannot be displayed before the next chunk arrives.
|
|
32
|
+
*/
|
|
33
|
+
export declare class StreamingMemoryContextScrubber {
|
|
34
|
+
private buffer;
|
|
35
|
+
private fenceDepth;
|
|
36
|
+
feed(chunk: string): string;
|
|
37
|
+
flush(): string;
|
|
38
|
+
reset(): void;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=memory-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-context.d.ts","sourceRoot":"","sources":["../src/memory-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuFH;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0B/D;AAED,0EAA0E;AAC1E,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWhE;AAED,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAgB,GAAG,MAAM,CAKjF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAKzF;AA+CD;;;;;GAKG;AACH,qBAAa,8BAA8B;IAC1C,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,UAAU,CAAK;IAEvB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAmC3B,KAAK,IAAI,MAAM;IAaf,KAAK,IAAI,IAAI;CAIb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"125-memory-content-safety.d.ts","sourceRoot":"","sources":["../../src/migrations/125-memory-content-safety.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAiF3C,wBAAgB,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAyDxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkIH,MAAM,WAAW,WAAW;IAC3B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG;QACrB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC9B,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;QAC7D,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;KACnD,CAAC;CACF;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,6FAA6F;QAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;KAC5B,EAAE,CAAC;CACJ;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAED,oEAAoE;AACpE,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EA0/B1C,CAAC;AAqOF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAiB7D;AAED,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,QAAkD,CAAC;AAsBrF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAiDnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-context.d.ts","sourceRoot":"","sources":["../src/prompt-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt-context.d.ts","sourceRoot":"","sources":["../src/prompt-context.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,EAAG,CAAU,CAAC;AACjD,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAC7D,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAE/D,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,sBAAsB,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAMD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAWjF;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;GAIG;AACH,qBAAa,2BAA2B;IACvC,OAAO,CAAC,OAAO,CAAM;IAErB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IA8B3B,KAAK,IAAI,MAAM;IAWf,OAAO,CAAC,yBAAyB;CAQjC"}
|
package/dist/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAoBtC,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,UAAU,cAAc;IACvB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG;QACrB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC9B,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;QAC7D,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;KACnD,CAAC;CACF;AAED;;GAEG;AACH,UAAU,eAAe;IACxB,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACrC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ/D;AAgCD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAKzE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAwDtC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA8BrH;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,YAAY,GAAG,IAAI,EAChC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,YAAY,EAAE,CAoIhB;AA0BD;;;GAGG;AACH,wBAAsB,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,eAAe,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgDlH"}
|