abmind 0.2.5-alpha.0 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SUPPORTED-SURFACE.md +52 -0
- package/dist/cli/abmind-backup.js +1 -1
- package/dist/cli/abmind-backup.js.map +1 -1
- package/dist/cli/abmind-deps.d.ts +8 -0
- package/dist/cli/abmind-deps.d.ts.map +1 -0
- package/dist/cli/abmind-deps.js +55 -0
- package/dist/cli/abmind-deps.js.map +1 -0
- package/dist/cli/abmind-doctor.js +9 -7
- package/dist/cli/abmind-doctor.js.map +1 -1
- package/dist/cli/abmind-embed.js +2 -3
- package/dist/cli/abmind-embed.js.map +1 -1
- package/dist/cli/abmind-expand.d.ts.map +1 -1
- package/dist/cli/abmind-expand.js +2 -3
- package/dist/cli/abmind-expand.js.map +1 -1
- package/dist/cli/abmind-install.js +9 -23
- package/dist/cli/abmind-install.js.map +1 -1
- package/dist/cli/abmind-passwd.js +2 -3
- package/dist/cli/abmind-passwd.js.map +1 -1
- package/dist/cli/abmind-secrets.d.ts.map +1 -1
- package/dist/cli/abmind-secrets.js +2 -3
- package/dist/cli/abmind-secrets.js.map +1 -1
- package/dist/cli/abmind-status-runtime.js +10 -12
- package/dist/cli/abmind-status-runtime.js.map +1 -1
- package/dist/cli/abmind-update-args.d.ts +26 -0
- package/dist/cli/abmind-update-args.d.ts.map +1 -0
- package/dist/cli/abmind-update-args.js +56 -0
- package/dist/cli/abmind-update-args.js.map +1 -0
- package/dist/cli/abmind-update.d.ts +13 -5
- package/dist/cli/abmind-update.d.ts.map +1 -1
- package/dist/cli/abmind-update.js +151 -147
- package/dist/cli/abmind-update.js.map +1 -1
- package/dist/cli/abmind.js +6 -10
- package/dist/cli/abmind.js.map +1 -1
- package/dist/cli/banner.d.ts +6 -0
- package/dist/cli/banner.d.ts.map +1 -1
- package/dist/cli/banner.js +14 -22
- package/dist/cli/banner.js.map +1 -1
- package/dist/cli/lib/native-dep.d.ts +15 -0
- package/dist/cli/lib/native-dep.d.ts.map +1 -0
- package/dist/cli/lib/native-dep.js +25 -0
- package/dist/cli/lib/native-dep.js.map +1 -0
- package/dist/src/context-orchestrator.d.ts +38 -2
- package/dist/src/context-orchestrator.d.ts.map +1 -1
- package/dist/src/context-orchestrator.js +84 -12
- package/dist/src/context-orchestrator.js.map +1 -1
- package/dist/src/fts-utils.d.ts +47 -0
- package/dist/src/fts-utils.d.ts.map +1 -0
- package/dist/src/fts-utils.js +65 -0
- package/dist/src/fts-utils.js.map +1 -0
- package/dist/src/index.d.ts +5 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/memory-db.d.ts.map +1 -1
- package/dist/src/memory-db.js +13 -5
- package/dist/src/memory-db.js.map +1 -1
- package/dist/src/memory-index.d.ts +0 -16
- package/dist/src/memory-index.d.ts.map +1 -1
- package/dist/src/memory-index.js +1 -60
- package/dist/src/memory-index.js.map +1 -1
- package/dist/src/memory-manager.d.ts +8 -0
- package/dist/src/memory-manager.d.ts.map +1 -1
- package/dist/src/memory-manager.js +8 -0
- package/dist/src/memory-manager.js.map +1 -1
- package/dist/src/ollama-embed.d.ts.map +1 -1
- package/dist/src/ollama-embed.js +11 -1
- package/dist/src/ollama-embed.js.map +1 -1
- package/dist/src/recall-boosts.d.ts +15 -0
- package/dist/src/recall-boosts.d.ts.map +1 -0
- package/dist/src/recall-boosts.js +159 -0
- package/dist/src/recall-boosts.js.map +1 -0
- package/dist/src/recall-engine.d.ts +0 -2
- package/dist/src/recall-engine.d.ts.map +1 -1
- package/dist/src/recall-engine.js +1 -151
- package/dist/src/recall-engine.js.map +1 -1
- package/dist/src/sleep/audit.d.ts +33 -0
- package/dist/src/sleep/audit.d.ts.map +1 -0
- package/dist/src/sleep/audit.js +160 -0
- package/dist/src/sleep/audit.js.map +1 -0
- package/dist/src/sleep/catchup.d.ts +19 -0
- package/dist/src/sleep/catchup.d.ts.map +1 -0
- package/dist/src/sleep/catchup.js +159 -0
- package/dist/src/sleep/catchup.js.map +1 -0
- package/dist/src/sleep/llm-budget.d.ts +29 -0
- package/dist/src/sleep/llm-budget.d.ts.map +1 -0
- package/dist/src/sleep/llm-budget.js +92 -0
- package/dist/src/sleep/llm-budget.js.map +1 -0
- package/dist/src/sleep/locks.d.ts +19 -0
- package/dist/src/sleep/locks.d.ts.map +1 -0
- package/dist/src/sleep/locks.js +42 -0
- package/dist/src/sleep/locks.js.map +1 -0
- package/dist/src/sleep/orchestrator.d.ts +18 -1
- package/dist/src/sleep/orchestrator.d.ts.map +1 -1
- package/dist/src/sleep/orchestrator.js +104 -420
- package/dist/src/sleep/orchestrator.js.map +1 -1
- package/dist/src/sleep/sleep-prompt-loader.d.ts +0 -5
- package/dist/src/sleep/sleep-prompt-loader.d.ts.map +1 -1
- package/dist/src/sleep/sleep-prompt-loader.js +0 -12
- package/dist/src/sleep/sleep-prompt-loader.js.map +1 -1
- package/dist/src/sleep/state.d.ts +56 -0
- package/dist/src/sleep/state.d.ts.map +1 -0
- package/dist/src/sleep/state.js +83 -0
- package/dist/src/sleep/state.js.map +1 -0
- package/package.json +2 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abmind-update.js","sourceRoot":"","sources":["../../cli/abmind-update.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"abmind-update.js","sourceRoot":"","sources":["../../cli/abmind-update.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/abmind.js
CHANGED
|
@@ -13,24 +13,20 @@ import { pathToFileURL } from "node:url";
|
|
|
13
13
|
import { readFileSync } from "node:fs";
|
|
14
14
|
// Resolve subcommand siblings via the package root, not relative to this script.
|
|
15
15
|
// npm may copy this bin to node_modules/.bin/abmind (not a symlink).
|
|
16
|
-
// #
|
|
17
|
-
//
|
|
18
|
-
import { existsSync } from "node:fs";
|
|
16
|
+
// #1243: abmind is no longer deployed inside the abtars bundle — resolve from
|
|
17
|
+
// its own package root (global install at ~/.local/lib, or npm link).
|
|
19
18
|
const req = createRequire(import.meta.url);
|
|
20
|
-
const
|
|
21
|
-
const deployedPkg = join(abtarsHome, "app", "bundle", "node_modules", "abmind", "package.json");
|
|
22
|
-
const pkgDir = existsSync(deployedPkg)
|
|
23
|
-
? dirname(deployedPkg)
|
|
24
|
-
: dirname(req.resolve("abmind/package.json"));
|
|
19
|
+
const pkgDir = dirname(req.resolve("abmind/package.json"));
|
|
25
20
|
const load = (name) => import(pathToFileURL(`${pkgDir}/dist/cli/${name}`).href);
|
|
26
21
|
const DISPATCH = [
|
|
27
22
|
// Lifecycle (#158 Phase 4)
|
|
28
23
|
{ name: "install", file: "abmind-install.js", help: "First-time setup of ~/.abmind" },
|
|
29
24
|
{ name: "install-host", file: "abmind-install-host.js", help: "Install abmind into Claude Code or Gemini CLI" },
|
|
30
|
-
{ name: "update", file: "abmind-update.js", help: "
|
|
31
|
-
{ name: "rollback", file: "abmind-rollback.js", help: "Flip current to a prior release" },
|
|
25
|
+
{ name: "update", file: "abmind-update.js", help: "Install a new abmind build to the global npm location" },
|
|
32
26
|
{ name: "doctor", file: "abmind-doctor.js", help: "Health check — permissions, DB, ollama, templates" },
|
|
33
27
|
{ name: "status", file: "abmind-status-runtime.js", help: "Show lifecycle status (version, lock, symlink)" },
|
|
28
|
+
// Deps
|
|
29
|
+
{ name: "deps", file: "abmind-deps.js", help: "Manage native deps (better-sqlite3, sqlite-vec)" },
|
|
34
30
|
// Memory-facing
|
|
35
31
|
{ name: "recall", file: "abmind-recall.js", help: "Search memories" },
|
|
36
32
|
{ name: "store", file: "abmind-store.js", help: "Store a new memory" },
|
package/dist/cli/abmind.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abmind.js","sourceRoot":"","sources":["../../cli/abmind.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAWvC,iFAAiF;AACjF,qEAAqE;AACrE,
|
|
1
|
+
{"version":3,"file":"abmind.js","sourceRoot":"","sources":["../../cli/abmind.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/banner.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI banner — prints command name + version on every invocation.
|
|
3
|
+
*
|
|
4
|
+
* #863: version is read from the local package.json (the global install's
|
|
5
|
+
* package.json, which is the bin's adjacent file). No manifest read, no
|
|
6
|
+
* git rev-parse fallback — the global install isn't a git checkout and
|
|
7
|
+
* the manifest's version is no longer the source of truth.
|
|
3
8
|
*/
|
|
4
9
|
export declare function printBanner(command: string): Promise<void>;
|
|
10
|
+
export declare function getPackageVersion(): string;
|
|
5
11
|
//# sourceMappingURL=banner.d.ts.map
|
package/dist/cli/banner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../cli/banner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../cli/banner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C"}
|
package/dist/cli/banner.js
CHANGED
|
@@ -1,34 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI banner — prints command name + version on every invocation.
|
|
3
|
+
*
|
|
4
|
+
* #863: version is read from the local package.json (the global install's
|
|
5
|
+
* package.json, which is the bin's adjacent file). No manifest read, no
|
|
6
|
+
* git rev-parse fallback — the global install isn't a git checkout and
|
|
7
|
+
* the manifest's version is no longer the source of truth.
|
|
3
8
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { dirname, join } from 'node:path';
|
|
8
|
-
import { fileURLToPath } from 'node:url';
|
|
9
|
+
import { readFileSync } from "node:fs";
|
|
10
|
+
import { dirname, join } from "node:path";
|
|
11
|
+
import { fileURLToPath } from "node:url";
|
|
9
12
|
export async function printBanner(command) {
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const version = manifest?.version || getPackageVersion();
|
|
13
|
-
let commit = manifest?.commit ?? null;
|
|
14
|
-
if (!commit) {
|
|
15
|
-
// Fallback: git rev-parse in the abmind source dir
|
|
16
|
-
const here = dirname(fileURLToPath(import.meta.url));
|
|
17
|
-
const result = spawnSync("git", ["rev-parse", "--short", "HEAD"], { cwd: here, encoding: "utf-8", timeout: 3000 });
|
|
18
|
-
if (result.status === 0)
|
|
19
|
-
commit = result.stdout.trim();
|
|
20
|
-
}
|
|
21
|
-
const display = commit ? `${version}-${commit}` : version;
|
|
22
|
-
process.stdout.write(`abmind ${command}\nVersion: ${display}\n\n`);
|
|
13
|
+
const version = getPackageVersion();
|
|
14
|
+
process.stdout.write(`abmind ${command}\nVersion: ${version}\n\n`);
|
|
23
15
|
}
|
|
24
|
-
function getPackageVersion() {
|
|
16
|
+
export function getPackageVersion() {
|
|
25
17
|
try {
|
|
26
18
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
27
|
-
const pkg = JSON.parse(readFileSync(join(here,
|
|
28
|
-
return pkg.version ??
|
|
19
|
+
const pkg = JSON.parse(readFileSync(join(here, "..", "..", "package.json"), "utf-8"));
|
|
20
|
+
return pkg.version ?? "unknown";
|
|
29
21
|
}
|
|
30
22
|
catch {
|
|
31
|
-
return
|
|
23
|
+
return "unknown";
|
|
32
24
|
}
|
|
33
25
|
}
|
|
34
26
|
//# sourceMappingURL=banner.js.map
|
package/dist/cli/banner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../cli/banner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../cli/banner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe;IAC/C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,cAAc,OAAO,MAAM,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACtF,OAAO,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cli/lib/native-dep.ts — shared resolution helper for native deps.
|
|
3
|
+
*
|
|
4
|
+
* Per #1245 + #1266: better-sqlite3 and sqlite-vec are NOT bundled with abmind.
|
|
5
|
+
* They're installed once at ~/.local/lib/node_modules/ (shared with abtars)
|
|
6
|
+
* via `abmind deps install`. Both products resolve from that shared location
|
|
7
|
+
* at runtime.
|
|
8
|
+
*
|
|
9
|
+
* This helper centralizes the resolution so the 5 CLI sites that touch the
|
|
10
|
+
* DB don't each inline their own createRequire dance. Mirrors abtars's
|
|
11
|
+
* `resolveNativeDep()` in src/utils/lazy-require.ts.
|
|
12
|
+
*/
|
|
13
|
+
export type NativeDepName = "better-sqlite3" | "sqlite-vec";
|
|
14
|
+
export declare function requireNativeDep(name: NativeDepName): any;
|
|
15
|
+
//# sourceMappingURL=native-dep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-dep.d.ts","sourceRoot":"","sources":["../../../cli/lib/native-dep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAE5D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,CAIzD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cli/lib/native-dep.ts — shared resolution helper for native deps.
|
|
3
|
+
*
|
|
4
|
+
* Per #1245 + #1266: better-sqlite3 and sqlite-vec are NOT bundled with abmind.
|
|
5
|
+
* They're installed once at ~/.local/lib/node_modules/ (shared with abtars)
|
|
6
|
+
* via `abmind deps install`. Both products resolve from that shared location
|
|
7
|
+
* at runtime.
|
|
8
|
+
*
|
|
9
|
+
* This helper centralizes the resolution so the 5 CLI sites that touch the
|
|
10
|
+
* DB don't each inline their own createRequire dance. Mirrors abtars's
|
|
11
|
+
* `resolveNativeDep()` in src/utils/lazy-require.ts.
|
|
12
|
+
*/
|
|
13
|
+
import { existsSync } from "node:fs";
|
|
14
|
+
import { join } from "node:path";
|
|
15
|
+
import { homedir } from "node:os";
|
|
16
|
+
import { createRequire } from "node:module";
|
|
17
|
+
const _require = createRequire(import.meta.url);
|
|
18
|
+
const SHARED_NM = join(homedir(), ".local", "lib", "node_modules");
|
|
19
|
+
export function requireNativeDep(name) {
|
|
20
|
+
const sharedPath = join(SHARED_NM, name);
|
|
21
|
+
if (existsSync(sharedPath))
|
|
22
|
+
return _require(sharedPath);
|
|
23
|
+
return _require(name);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=native-dep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-dep.js","sourceRoot":"","sources":["../../../cli/lib/native-dep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AAInE,MAAM,UAAU,gBAAgB,CAAC,IAAmB;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -6,10 +6,35 @@
|
|
|
6
6
|
import type { ContextEngine } from "./context-engine.js";
|
|
7
7
|
type LogFn = (tag: string, msg: string) => void;
|
|
8
8
|
export type SummarizeFn = (serializedTurns: string, budget: number, priorSummaries: string) => Promise<string>;
|
|
9
|
+
export type CompactionLevel = "normal" | "fallback" | "skipped" | "failed";
|
|
10
|
+
/** Result of a single compaction pass. Returned by runCompaction/forceCompact. */
|
|
11
|
+
export interface CompactionResult {
|
|
12
|
+
ok: boolean;
|
|
13
|
+
skipped?: boolean;
|
|
14
|
+
tokensBefore: number;
|
|
15
|
+
tokensAfter: number;
|
|
16
|
+
savingsPct: number;
|
|
17
|
+
durationMs: number;
|
|
18
|
+
level: CompactionLevel;
|
|
19
|
+
}
|
|
20
|
+
/** Telemetry event emitted per compaction pass (every terminal path). */
|
|
21
|
+
export interface CompactionEvent {
|
|
22
|
+
conversationId: string;
|
|
23
|
+
timestamp: number;
|
|
24
|
+
tokensBefore: number;
|
|
25
|
+
tokensAfter: number;
|
|
26
|
+
savingsPct: number;
|
|
27
|
+
model: string | null;
|
|
28
|
+
durationMs: number;
|
|
29
|
+
level: CompactionLevel;
|
|
30
|
+
failureReason?: string;
|
|
31
|
+
}
|
|
9
32
|
export interface ContextOrchestratorConfig {
|
|
10
33
|
contextEngine: ContextEngine;
|
|
11
34
|
summarize: SummarizeFn;
|
|
12
35
|
getLastAssistantTimestamp: (chatId: string) => number | null;
|
|
36
|
+
compactionModel?: string | null;
|
|
37
|
+
onCompactionEvent?: (event: CompactionEvent) => void;
|
|
13
38
|
log?: {
|
|
14
39
|
debug?: LogFn;
|
|
15
40
|
info?: LogFn;
|
|
@@ -30,6 +55,10 @@ export declare class ContextOrchestrator {
|
|
|
30
55
|
private engine;
|
|
31
56
|
private summarize;
|
|
32
57
|
private getLastAssistantTs;
|
|
58
|
+
private compactionModel;
|
|
59
|
+
private onCompactionEvent?;
|
|
60
|
+
private compacting;
|
|
61
|
+
private antiThrash;
|
|
33
62
|
private logDebug;
|
|
34
63
|
private logInfo;
|
|
35
64
|
private logWarn;
|
|
@@ -41,11 +70,18 @@ export declare class ContextOrchestrator {
|
|
|
41
70
|
afterResponse(chatId: string, tokenBudget: number, promptTokens?: number): Promise<void>;
|
|
42
71
|
/** Handle post-response feedback: trigger async compaction if over threshold. */
|
|
43
72
|
onApiResponse(chatId: string, promptTokens: number, tokenBudget: number): void;
|
|
44
|
-
/** Force compaction (manual /compact or reactive overflow). */
|
|
45
|
-
forceCompact(chatId: string, tokenBudget: number): Promise<
|
|
73
|
+
/** Force compaction (manual /compact or reactive overflow). Bypasses anti-thrash. */
|
|
74
|
+
forceCompact(chatId: string, tokenBudget: number): Promise<CompactionResult>;
|
|
46
75
|
/** Archive context on /reset. */
|
|
47
76
|
reset(chatId: string): void;
|
|
48
77
|
private runCompaction;
|
|
78
|
+
/**
|
|
79
|
+
* Terminal handler for a compaction pass that attempted work (normal/fallback/failed).
|
|
80
|
+
* Updates the anti-thrash counter (savings measured on the CHUNK) and emits telemetry.
|
|
81
|
+
*/
|
|
82
|
+
private finishCompaction;
|
|
83
|
+
/** Emit a skipped telemetry event (reentrancy or anti-thrash preempt — no work done). */
|
|
84
|
+
private emitSkipped;
|
|
49
85
|
private runCondensation;
|
|
50
86
|
private serializeChunk;
|
|
51
87
|
private formatTimestamp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-orchestrator.d.ts","sourceRoot":"","sources":["../../src/context-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AASzE,KAAK,KAAK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAGhD,MAAM,MAAM,WAAW,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE/G,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC;IACvB,yBAAyB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC7D,GAAG,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC;CACpE;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,kBAAkB,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,MAAM,EAAE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"context-orchestrator.d.ts","sourceRoot":"","sources":["../../src/context-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,10 @@ export class ContextOrchestrator {
|
|
|
14
14
|
engine;
|
|
15
15
|
summarize;
|
|
16
16
|
getLastAssistantTs;
|
|
17
|
+
compactionModel;
|
|
18
|
+
onCompactionEvent;
|
|
19
|
+
compacting = new Set(); // reentrancy guard (per chat)
|
|
20
|
+
antiThrash = new Map(); // low-savings backoff
|
|
17
21
|
logDebug;
|
|
18
22
|
logInfo;
|
|
19
23
|
logWarn;
|
|
@@ -22,6 +26,8 @@ export class ContextOrchestrator {
|
|
|
22
26
|
this.engine = config.contextEngine;
|
|
23
27
|
this.summarize = config.summarize;
|
|
24
28
|
this.getLastAssistantTs = config.getLastAssistantTimestamp;
|
|
29
|
+
this.compactionModel = config.compactionModel ?? null;
|
|
30
|
+
this.onCompactionEvent = config.onCompactionEvent;
|
|
25
31
|
this.logDebug = config.log?.debug ?? noop;
|
|
26
32
|
this.logInfo = config.log?.info ?? noop;
|
|
27
33
|
this.logWarn = config.log?.warn ?? noop;
|
|
@@ -60,10 +66,19 @@ export class ContextOrchestrator {
|
|
|
60
66
|
(promptTokens != null && promptTokens > tokenBudget * COMPACT_TRIGGER_PCT) ||
|
|
61
67
|
snapshot.estimatedTokens > tokenBudget * COMPACT_TRIGGER_PCT;
|
|
62
68
|
if (shouldCompact && snapshot.messages.length > TAIL_MIN_MESSAGES) {
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
// Anti-thrash: if recent auto passes saved little, skip until the window expires.
|
|
70
|
+
// Manual /compact and reactive overflow (forceCompact) bypass this entirely.
|
|
71
|
+
const at = this.antiThrash.get(chatId);
|
|
72
|
+
if (at && at.fails >= 2 && Date.now() < at.skipUntil) {
|
|
73
|
+
this.emitSkipped(chatId);
|
|
74
|
+
this.logDebug(TAG, `Auto-compaction skipped for ${chatId} (anti-thrash, ${at.fails} low-savings passes)`);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
// Fire async — don't block the user
|
|
78
|
+
this.runCompaction(chatId, tokenBudget).catch(err => {
|
|
79
|
+
this.logWarn(TAG, `Background compaction failed for ${chatId}: ${err}`);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
67
82
|
}
|
|
68
83
|
// Check condensation
|
|
69
84
|
const cond = this.engine.needsCondensation(chatId);
|
|
@@ -78,7 +93,7 @@ export class ContextOrchestrator {
|
|
|
78
93
|
// Fire-and-forget — user already has their response
|
|
79
94
|
this.afterResponse(chatId, tokenBudget, promptTokens).catch(() => { });
|
|
80
95
|
}
|
|
81
|
-
/** Force compaction (manual /compact or reactive overflow). */
|
|
96
|
+
/** Force compaction (manual /compact or reactive overflow). Bypasses anti-thrash. */
|
|
82
97
|
async forceCompact(chatId, tokenBudget) {
|
|
83
98
|
return this.runCompaction(chatId, tokenBudget);
|
|
84
99
|
}
|
|
@@ -89,9 +104,19 @@ export class ContextOrchestrator {
|
|
|
89
104
|
}
|
|
90
105
|
// ── Private ────────────────────────────────────────────────────────────────
|
|
91
106
|
async runCompaction(chatId, tokenBudget) {
|
|
107
|
+
const started = Date.now();
|
|
108
|
+
// Reentrancy guard — runCompaction is entered from both afterResponse (async)
|
|
109
|
+
// and forceCompact (manual/reactive). Single bridge process → a Set is sufficient.
|
|
110
|
+
if (this.compacting.has(chatId)) {
|
|
111
|
+
this.emitSkipped(chatId);
|
|
112
|
+
return { ok: false, skipped: true, tokensBefore: 0, tokensAfter: 0, savingsPct: 0, durationMs: 0, level: "skipped" };
|
|
113
|
+
}
|
|
92
114
|
const chunk = this.engine.getCompactionChunk(chatId, tokenBudget);
|
|
93
|
-
if (!chunk)
|
|
94
|
-
|
|
115
|
+
if (!chunk) {
|
|
116
|
+
// Nothing to compact — no work, no telemetry, no counter change.
|
|
117
|
+
return { ok: false, skipped: false, tokensBefore: 0, tokensAfter: 0, savingsPct: 0, durationMs: Date.now() - started, level: "normal" };
|
|
118
|
+
}
|
|
119
|
+
this.compacting.add(chatId);
|
|
95
120
|
try {
|
|
96
121
|
// Serialize chunk for summarizer
|
|
97
122
|
const serialized = this.serializeChunk(chunk.messages);
|
|
@@ -102,12 +127,13 @@ export class ContextOrchestrator {
|
|
|
102
127
|
// LLM call (one call, never more)
|
|
103
128
|
const summary = await this.summarize(serialized, budget, priorContent);
|
|
104
129
|
if (!summary || summary.trim().length === 0) {
|
|
105
|
-
// Deterministic fallback: truncate to 512 tokens
|
|
130
|
+
// Deterministic fallback: truncate to 512 tokens. savingsPct forced to 0 so
|
|
131
|
+
// repeated ineffective passes correctly trip anti-thrash.
|
|
106
132
|
const fallback = serialized.slice(0, 512 * CHARS_PER_TOKEN) + "\n[Truncated from " + chunk.chunkTokens + " tokens]";
|
|
107
133
|
const tokenEst = Math.ceil(fallback.length / CHARS_PER_TOKEN);
|
|
108
134
|
this.engine.persistSummary(chatId, fallback, tokenEst, chunk.sourceStart, chunk.sourceEnd, chunk.classification);
|
|
109
135
|
this.logWarn(TAG, `Compaction used deterministic fallback for ${chatId}`);
|
|
110
|
-
return true;
|
|
136
|
+
return this.finishCompaction(chatId, { ok: true, tokensBefore: chunk.chunkTokens, tokensAfter: tokenEst, savingsPct: 0, durationMs: Date.now() - started, level: "fallback" });
|
|
111
137
|
}
|
|
112
138
|
const tokenEst = Math.ceil(summary.length / CHARS_PER_TOKEN);
|
|
113
139
|
// Anti-inflation: if summary >= input, use fallback
|
|
@@ -116,17 +142,63 @@ export class ContextOrchestrator {
|
|
|
116
142
|
const fbTokens = Math.ceil(fallback.length / CHARS_PER_TOKEN);
|
|
117
143
|
this.engine.persistSummary(chatId, fallback, fbTokens, chunk.sourceStart, chunk.sourceEnd, chunk.classification);
|
|
118
144
|
this.logWarn(TAG, `Compaction inflated (${tokenEst} >= ${chunk.chunkTokens}), used fallback`);
|
|
119
|
-
return true;
|
|
145
|
+
return this.finishCompaction(chatId, { ok: true, tokensBefore: chunk.chunkTokens, tokensAfter: fbTokens, savingsPct: 0, durationMs: Date.now() - started, level: "fallback" });
|
|
120
146
|
}
|
|
121
147
|
this.engine.persistSummary(chatId, summary, tokenEst, chunk.sourceStart, chunk.sourceEnd, chunk.classification);
|
|
148
|
+
const savingsPct = (chunk.chunkTokens - tokenEst) / chunk.chunkTokens;
|
|
122
149
|
this.logInfo(TAG, `Compacted ${chunk.chunkTokens} tokens → ${tokenEst} tokens for ${chatId}`);
|
|
123
|
-
return true;
|
|
150
|
+
return this.finishCompaction(chatId, { ok: true, tokensBefore: chunk.chunkTokens, tokensAfter: tokenEst, savingsPct, durationMs: Date.now() - started, level: "normal" });
|
|
124
151
|
}
|
|
125
152
|
catch (err) {
|
|
126
153
|
this.engine.setLastFailed(chatId);
|
|
127
154
|
this.logError(TAG, `Compaction failed for ${chatId}: ${err}`);
|
|
128
|
-
return false;
|
|
155
|
+
return this.finishCompaction(chatId, { ok: false, tokensBefore: chunk.chunkTokens, tokensAfter: 0, savingsPct: 0, durationMs: Date.now() - started, level: "failed" }, String(err));
|
|
129
156
|
}
|
|
157
|
+
finally {
|
|
158
|
+
this.compacting.delete(chatId);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Terminal handler for a compaction pass that attempted work (normal/fallback/failed).
|
|
163
|
+
* Updates the anti-thrash counter (savings measured on the CHUNK) and emits telemetry.
|
|
164
|
+
*/
|
|
165
|
+
finishCompaction(chatId, result, failureReason) {
|
|
166
|
+
const at = this.antiThrash.get(chatId) ?? { fails: 0, skipUntil: 0 };
|
|
167
|
+
if (result.savingsPct < 0.10) {
|
|
168
|
+
at.fails++;
|
|
169
|
+
if (at.fails >= 2)
|
|
170
|
+
at.skipUntil = Date.now() + 30 * 60 * 1000;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
at.fails = 0;
|
|
174
|
+
at.skipUntil = 0; // a single healthy pass fully clears the guard
|
|
175
|
+
}
|
|
176
|
+
this.antiThrash.set(chatId, at);
|
|
177
|
+
this.onCompactionEvent?.({
|
|
178
|
+
conversationId: chatId,
|
|
179
|
+
timestamp: Date.now(),
|
|
180
|
+
tokensBefore: result.tokensBefore,
|
|
181
|
+
tokensAfter: result.tokensAfter,
|
|
182
|
+
savingsPct: result.savingsPct,
|
|
183
|
+
model: this.compactionModel,
|
|
184
|
+
durationMs: result.durationMs,
|
|
185
|
+
level: result.level,
|
|
186
|
+
...(failureReason ? { failureReason } : {}),
|
|
187
|
+
});
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
190
|
+
/** Emit a skipped telemetry event (reentrancy or anti-thrash preempt — no work done). */
|
|
191
|
+
emitSkipped(chatId) {
|
|
192
|
+
this.onCompactionEvent?.({
|
|
193
|
+
conversationId: chatId,
|
|
194
|
+
timestamp: Date.now(),
|
|
195
|
+
tokensBefore: 0,
|
|
196
|
+
tokensAfter: 0,
|
|
197
|
+
savingsPct: 0,
|
|
198
|
+
model: this.compactionModel,
|
|
199
|
+
durationMs: 0,
|
|
200
|
+
level: "skipped",
|
|
201
|
+
});
|
|
130
202
|
}
|
|
131
203
|
async runCondensation(chatId, leafIds) {
|
|
132
204
|
const leaves = this.engine.getSummaries(chatId).filter(s => leafIds.includes(s.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-orchestrator.js","sourceRoot":"","sources":["../../src/context-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-orchestrator.js","sourceRoot":"","sources":["../../src/context-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAGnD,MAAM,IAAI,GAAU,GAAG,EAAE,GAAE,CAAC,CAAC;AA8C7B,MAAM,OAAO,mBAAmB;IACtB,MAAM,CAAgB;IACtB,SAAS,CAAc;IACvB,kBAAkB,CAAoC;IACtD,eAAe,CAAgB;IAC/B,iBAAiB,CAAoC;IACrD,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC,CAAuC,8BAA8B;IACpG,UAAU,GAAG,IAAI,GAAG,EAAgD,CAAC,CAAC,sBAAsB;IAC5F,QAAQ,CAAQ;IAChB,OAAO,CAAQ;IACf,OAAO,CAAQ;IACf,QAAQ,CAAQ;IAExB,YAAY,MAAiC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,yBAAyB,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QACtD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,WAAmB;QAClD,+DAA+D;QAC/D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1E,4EAA4E;QAC5E,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEhD,4DAA4D;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,GAAG,GAAG,iBAAiB,CAAC;QAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,MAAM,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;QAC5F,IAAI,UAAU,IAAI,eAAe,GAAG,WAAW,GAAG,qBAAqB,EAAE,CAAC;YACxE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/G,MAAM,WAAW,GAAG,gBAAgB,CAAC,eAAsB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACpF,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC;YACjC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,QAAe,CAAC,CAAC;gBAClF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,MAAM,6BAA6B,UAAU,GAAG,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,2BAA2B,MAAM,CAAC,aAAa,CAAC,SAAS,WAAW,MAAM,CAAC,aAAa,CAAC,WAAW,SAAS,MAAM,CAAC,aAAa,CAAC,SAAS,WAAW,MAAM,QAAQ,WAAW,KAAK,CAAC,CAAC;QACzM,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/F,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,WAAmB,EAAE,YAAqB;QAC5E,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,iBAAiB;YAC9C,CAAC,YAAY,IAAI,IAAI,IAAI,YAAY,GAAG,WAAW,GAAG,mBAAmB,CAAC;YAC1E,QAAQ,CAAC,eAAe,GAAG,WAAW,GAAG,mBAAmB,CAAC;QAE/D,IAAI,aAAa,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YAClE,kFAAkF;YAClF,6EAA6E;YAC7E,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;gBACrD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,+BAA+B,MAAM,kBAAkB,EAAE,CAAC,KAAK,sBAAsB,CAAC,CAAC;YAC5G,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBAClD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,oCAAoC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;gBAC1E,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACrD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,sCAAsC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,aAAa,CAAC,MAAc,EAAE,YAAoB,EAAE,WAAmB;QACrE,oDAAoD;QACpD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,WAAmB;QACpD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,MAAc;QAClB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,wBAAwB,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,8EAA8E;IAEtE,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,WAAmB;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,8EAA8E;QAC9E,mFAAmF;QACnF,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACvH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,iEAAiE;YACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC1I,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAErH,qCAAqC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE1E,kCAAkC;YAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAEvE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,4EAA4E;gBAC5E,0DAA0D;gBAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,eAAe,CAAC,GAAG,oBAAoB,GAAG,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC;gBACpH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;gBACjH,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,8CAA8C,MAAM,EAAE,CAAC,CAAC;gBAC1E,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACjL,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;YAC7D,oDAAoD;YACpD,IAAI,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,eAAe,CAAC,GAAG,oBAAoB,GAAG,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC;gBACpH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;gBACjH,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,wBAAwB,QAAQ,OAAO,KAAK,CAAC,WAAW,kBAAkB,CAAC,CAAC;gBAC9F,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACjL,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;YAChH,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,KAAK,CAAC,WAAW,aAAa,QAAQ,eAAe,MAAM,EAAE,CAAC,CAAC;YAC9F,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5K,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACtL,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,MAAc,EAAE,MAAwB,EAAE,aAAsB;QACvF,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACrE,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;gBAAE,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;YACb,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,+CAA+C;QACnE,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEhC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,cAAc,EAAE,MAAM;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,IAAI,CAAC,eAAe;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,yFAAyF;IACjF,WAAW,CAAC,MAAc;QAChC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,cAAc,EAAE,MAAM;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,eAAe;YAC3B,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,OAAiB;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;QAEnF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAC7D,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,MAAM,CAAC,MAAM,aAAa,QAAQ,eAAe,MAAM,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,2BAA2B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,QAA0B;QAC/C,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB;aAC1D,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;YACpE,OAAO,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,OAAe;QACrC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;IACvC,CAAC;IAEO,yBAAyB,CAAC,MAAc;QAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* fts-utils.ts — FTS5 query sanitization, row scoring, and recency/emotion helpers.
|
|
3
|
+
* Extracted from memory-index.ts (#1229).
|
|
4
|
+
*/
|
|
5
|
+
import type { MemorySearchResult } from "./mem-types.js";
|
|
6
|
+
/** Weight applied to the log1p emotion boost in search ranking. */
|
|
7
|
+
export declare const EMOTION_BOOST_WEIGHT = 0.5;
|
|
8
|
+
/** Compute recency factor with emotion override. */
|
|
9
|
+
export declare function recencyFactor(createdAt: number, emotionScore: number): number;
|
|
10
|
+
/** Strip diacritical marks (accents) from a string using Unicode NFD decomposition. */
|
|
11
|
+
export declare function stripAccents(str: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Sanitize a raw query string for safe use in an FTS5 MATCH clause.
|
|
14
|
+
*
|
|
15
|
+
* Wraps each whitespace-delimited token in double quotes (stripping any
|
|
16
|
+
* internal quotes) with a trailing `*` for prefix matching. Quoting
|
|
17
|
+
* neutralizes all FTS5 operators (OR, NOT, NEAR, ^, *, :, -, etc.)
|
|
18
|
+
* without needing a blacklist. Prefix matching is critical for
|
|
19
|
+
* agglutinative languages (e.g. Hungarian) where "jelszó" needs to
|
|
20
|
+
* match "jelszóra", "jelszót", etc.
|
|
21
|
+
* Returns empty string if no valid tokens remain.
|
|
22
|
+
*/
|
|
23
|
+
export declare function sanitizeFtsQuery(query: string, mode?: "or" | "and"): string;
|
|
24
|
+
/** Row shape returned by extracted memory FTS queries. */
|
|
25
|
+
export type ExtractedFtsRow = {
|
|
26
|
+
id: number;
|
|
27
|
+
content_en: string;
|
|
28
|
+
content_original: string;
|
|
29
|
+
memory_type: string;
|
|
30
|
+
created_at: number;
|
|
31
|
+
preserve_original: number;
|
|
32
|
+
emotion_score: number;
|
|
33
|
+
recall_count: number;
|
|
34
|
+
relevance_score: number;
|
|
35
|
+
source_message_ids: string | null;
|
|
36
|
+
trust: number | null;
|
|
37
|
+
integrity: number | null;
|
|
38
|
+
credibility: number | null;
|
|
39
|
+
classification: number | null;
|
|
40
|
+
rank: number;
|
|
41
|
+
tier: string | null;
|
|
42
|
+
};
|
|
43
|
+
/** Compute final score for an extracted memory FTS row. */
|
|
44
|
+
export declare function scoreExtractedRow(row: ExtractedFtsRow, baseScore: number): number;
|
|
45
|
+
/** Map an extracted memory FTS row to a MemorySearchResult. */
|
|
46
|
+
export declare function mapExtractedRow(row: ExtractedFtsRow, score: number): MemorySearchResult;
|
|
47
|
+
//# sourceMappingURL=fts-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fts-utils.d.ts","sourceRoot":"","sources":["../../src/fts-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAIxC,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAK7E;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAI,GAAG,KAAa,GAAG,MAAM,CAKlF;AAED,0DAA0D;AAC1D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAC9E,UAAU,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IACrE,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAClE,CAAC;AAEF,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAQjF;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAevF"}
|