@polpo-ai/core 0.15.132 → 0.15.134
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -7
- package/dist/__tests__/brain-local.test.js +149 -1
- package/dist/__tests__/brain-local.test.js.map +1 -1
- package/dist/__tests__/memory-store-policy.test.js +216 -0
- package/dist/__tests__/memory-store-policy.test.js.map +1 -1
- package/dist/__tests__/project-layout.test.js +5 -0
- package/dist/__tests__/project-layout.test.js.map +1 -1
- package/dist/brain/contracts.d.ts.map +1 -1
- package/dist/brain/contracts.js +36 -0
- package/dist/brain/contracts.js.map +1 -1
- package/dist/brain/in-memory-store.d.ts +2 -1
- package/dist/brain/in-memory-store.d.ts.map +1 -1
- package/dist/brain/in-memory-store.js +118 -60
- package/dist/brain/in-memory-store.js.map +1 -1
- package/dist/brain/index.d.ts +6 -3
- package/dist/brain/index.d.ts.map +1 -1
- package/dist/brain/index.js +2 -1
- package/dist/brain/index.js.map +1 -1
- package/dist/brain/ingestion-worker.d.ts +33 -0
- package/dist/brain/ingestion-worker.d.ts.map +1 -0
- package/dist/brain/ingestion-worker.js +222 -0
- package/dist/brain/ingestion-worker.js.map +1 -0
- package/dist/brain/ingestion-worker.test.d.ts +2 -0
- package/dist/brain/ingestion-worker.test.d.ts.map +1 -0
- package/dist/brain/ingestion-worker.test.js +355 -0
- package/dist/brain/ingestion-worker.test.js.map +1 -0
- package/dist/brain/ports.d.ts +4 -1
- package/dist/brain/ports.d.ts.map +1 -1
- package/dist/brain/retrieval.d.ts +5 -0
- package/dist/brain/retrieval.d.ts.map +1 -1
- package/dist/brain/retrieval.js +59 -1
- package/dist/brain/retrieval.js.map +1 -1
- package/dist/brain/stores.d.ts +3 -1
- package/dist/brain/stores.d.ts.map +1 -1
- package/dist/brain/types.d.ts +20 -0
- package/dist/brain/types.d.ts.map +1 -1
- package/dist/canonical-turn-dispatcher.d.ts +30 -0
- package/dist/canonical-turn-dispatcher.d.ts.map +1 -0
- package/dist/canonical-turn-dispatcher.js +50 -0
- package/dist/canonical-turn-dispatcher.js.map +1 -0
- package/dist/canonical-turn-dispatcher.test.d.ts +2 -0
- package/dist/canonical-turn-dispatcher.test.d.ts.map +1 -0
- package/dist/canonical-turn-dispatcher.test.js +118 -0
- package/dist/canonical-turn-dispatcher.test.js.map +1 -0
- package/dist/canonical-turn.d.ts +36 -0
- package/dist/canonical-turn.d.ts.map +1 -0
- package/dist/canonical-turn.js +132 -0
- package/dist/canonical-turn.js.map +1 -0
- package/dist/canonical-turn.test.d.ts +2 -0
- package/dist/canonical-turn.test.d.ts.map +1 -0
- package/dist/canonical-turn.test.js +64 -0
- package/dist/canonical-turn.test.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/extraction.d.ts +10 -0
- package/dist/memory/extraction.d.ts.map +1 -1
- package/dist/memory/extraction.js +7 -1
- package/dist/memory/extraction.js.map +1 -1
- package/dist/memory/extraction.test.js +27 -0
- package/dist/memory/extraction.test.js.map +1 -1
- package/dist/memory/in-memory-extraction-store.d.ts +2 -0
- package/dist/memory/in-memory-extraction-store.d.ts.map +1 -1
- package/dist/memory/in-memory-extraction-store.js +37 -0
- package/dist/memory/in-memory-extraction-store.js.map +1 -1
- package/dist/memory/in-memory-store.d.ts +15 -2
- package/dist/memory/in-memory-store.d.ts.map +1 -1
- package/dist/memory/in-memory-store.js +209 -4
- package/dist/memory/in-memory-store.js.map +1 -1
- package/dist/memory/index.d.ts +6 -3
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +2 -1
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/learning.d.ts +113 -0
- package/dist/memory/learning.d.ts.map +1 -0
- package/dist/memory/learning.js +310 -0
- package/dist/memory/learning.js.map +1 -0
- package/dist/memory/learning.test.d.ts +2 -0
- package/dist/memory/learning.test.d.ts.map +1 -0
- package/dist/memory/learning.test.js +274 -0
- package/dist/memory/learning.test.js.map +1 -0
- package/dist/memory/store-types.d.ts +21 -0
- package/dist/memory/store-types.d.ts.map +1 -1
- package/dist/memory/tool-settings.d.ts +16 -0
- package/dist/memory/tool-settings.d.ts.map +1 -1
- package/dist/memory/tool-settings.js +53 -1
- package/dist/memory/tool-settings.js.map +1 -1
- package/dist/memory/tool-settings.test.js +33 -0
- package/dist/memory/tool-settings.test.js.map +1 -1
- package/dist/model-runtime.d.ts +1 -1
- package/dist/model-runtime.d.ts.map +1 -1
- package/dist/model-runtime.js.map +1 -1
- package/dist/runtime-context/composite-provider.d.ts.map +1 -1
- package/dist/runtime-context/composite-provider.js +27 -2
- package/dist/runtime-context/composite-provider.js.map +1 -1
- package/dist/runtime-context/composite-provider.test.js +20 -1
- package/dist/runtime-context/composite-provider.test.js.map +1 -1
- package/dist/semantic-retrieval-quality.test.d.ts +2 -0
- package/dist/semantic-retrieval-quality.test.d.ts.map +1 -0
- package/dist/semantic-retrieval-quality.test.js +319 -0
- package/dist/semantic-retrieval-quality.test.js.map +1 -0
- package/dist/semantic-retrieval.d.ts +245 -0
- package/dist/semantic-retrieval.d.ts.map +1 -0
- package/dist/semantic-retrieval.js +662 -0
- package/dist/semantic-retrieval.js.map +1 -0
- package/dist/semantic-retrieval.test.d.ts +2 -0
- package/dist/semantic-retrieval.test.d.ts.map +1 -0
- package/dist/semantic-retrieval.test.js +138 -0
- package/dist/semantic-retrieval.test.js.map +1 -0
- package/dist/session-continuation.d.ts +2 -0
- package/dist/session-continuation.d.ts.map +1 -1
- package/dist/session-continuation.js.map +1 -1
- package/dist/session-store.d.ts +33 -0
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js.map +1 -1
- package/package.json +13 -1
package/README.md
CHANGED
|
@@ -588,13 +588,16 @@ project or organization boundary and passes only authorized dimensions to
|
|
|
588
588
|
|
|
589
589
|
The contract validates item lifecycle, provenance, expiry, and exact dedupe
|
|
590
590
|
identity. `InMemoryMemoryItemStore` adds authorized CRUD, deterministic lexical
|
|
591
|
-
search, token-budget selection, soft
|
|
592
|
-
|
|
593
|
-
|
|
591
|
+
search, optional provider-neutral semantic search, token-budget selection, soft
|
|
592
|
+
deletion, usage events, and fail-closed write policy. Lexical and semantic
|
|
593
|
+
candidate rankings are fused with reciprocal rank fusion; raw scores are never
|
|
594
|
+
added. Every operation requires a host-owned `namespace`, so external user
|
|
595
|
+
identifiers are never shared across project boundaries.
|
|
594
596
|
|
|
595
597
|
`FileMemoryItemStore` from `@polpo-ai/file-stores` is the local durable
|
|
596
|
-
reference adapter. It writes `memory-items.json` atomically
|
|
597
|
-
existing markdown store untouched during migration
|
|
598
|
+
reference adapter. It writes canonical items to `memory-items.json` atomically,
|
|
599
|
+
leaves the existing markdown store untouched during migration, and rebuilds
|
|
600
|
+
derived embeddings when reopened if a semantic provider is configured.
|
|
598
601
|
|
|
599
602
|
The typed HTTP and model-tool surfaces are independently authorized:
|
|
600
603
|
|
|
@@ -641,8 +644,38 @@ position into an opaque, filter-bound cursor, and
|
|
|
641
644
|
`PolpoClient.listMemoryItemsPage()` returns `{ items, nextCursor }`. Invalid,
|
|
642
645
|
cross-filter, and cross-agent cursors fail without exposing store details.
|
|
643
646
|
|
|
644
|
-
|
|
645
|
-
|
|
647
|
+
Semantic retrieval is additive and opt-in. Hosts supply a
|
|
648
|
+
`TextEmbeddingProvider` to Memory and Knowledge stores. Provider, model,
|
|
649
|
+
dimensions, and revision form the immutable embedding identity; incompatible
|
|
650
|
+
vectors are never compared. Provider failure falls back to lexical retrieval
|
|
651
|
+
unless strict mode is selected, while cancellation always propagates. Runtime
|
|
652
|
+
context providers keep Memory and Knowledge as separate authorized corpora and
|
|
653
|
+
allocate their token budgets proportionally so one cannot starve the other.
|
|
654
|
+
|
|
655
|
+
Automatic Memory extraction and writes are intentionally separate from this
|
|
656
|
+
retrieval capability and remain opt-in host behavior.
|
|
657
|
+
|
|
658
|
+
Knowledge ingestion can run synchronously through `ingestBrainSource` or on a
|
|
659
|
+
durable host queue through `processNextBrainIngestionJob`. The worker claims a
|
|
660
|
+
single scoped job, heartbeats adapters that implement `renewJobLease`, retries
|
|
661
|
+
sanitized transient failures, and uses claim-token compare-and-swap for every
|
|
662
|
+
terminal mutation. Executors must remain idempotent because a process can fail
|
|
663
|
+
after publishing a version but before acknowledging its job.
|
|
664
|
+
|
|
665
|
+
```ts
|
|
666
|
+
const result = await processNextBrainIngestionJob({
|
|
667
|
+
jobStore,
|
|
668
|
+
scope: { kind: "project", subjectId: projectId },
|
|
669
|
+
workerId,
|
|
670
|
+
execute: async ({ job, signal }) => {
|
|
671
|
+
await ingestStagedKnowledgeVersion(job, { signal });
|
|
672
|
+
},
|
|
673
|
+
});
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
The queue stores identifiers and lifecycle facts, not source bodies or provider
|
|
677
|
+
credentials. Hosts own durable payload/object storage and must resolve it again
|
|
678
|
+
under the job's exact scope before parsing or publishing.
|
|
646
679
|
|
|
647
680
|
## License
|
|
648
681
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { BrainStoreConflictError, BrainStoreValidationError, InMemoryBrainStore, PlainTextBrainParser, chunkBrainSections, createBrainIngestionJob, createBrainSource, createBrainSourceVersion, ingestBrainSource, retrieveBrain, } from "../brain/index.js";
|
|
2
|
+
import { BrainStoreConflictError, BrainStoreValidationError, InMemoryBrainStore, PlainTextBrainParser, chunkBrainSections, createBrainIngestionJob, createBrainSource, createBrainSourceVersion, createBrainTextRerankerAdapter, ingestBrainSource, retrieveBrain, } from "../brain/index.js";
|
|
3
3
|
const projectA = { kind: "project", subjectId: "project-a" };
|
|
4
4
|
const projectB = { kind: "project", subjectId: "project-b" };
|
|
5
5
|
const at = "2026-07-28T12:00:00.000Z";
|
|
@@ -565,6 +565,92 @@ describe("Brain ingestion and retrieval", () => {
|
|
|
565
565
|
failureMode: "fallback",
|
|
566
566
|
});
|
|
567
567
|
expect(results.map((result) => result.chunk.sourceId)).toEqual(["a", "b"]);
|
|
568
|
+
expect(results.every((result) => (result.retrievalMode === "lexical"
|
|
569
|
+
&& result.fallbackReason === "semantic_index_unavailable"))).toBe(true);
|
|
570
|
+
});
|
|
571
|
+
it("recovers paraphrases semantically and fuses overlap with deterministic diagnostics", async () => {
|
|
572
|
+
const tasks = [];
|
|
573
|
+
const embedder = {
|
|
574
|
+
embed: async ({ texts, task }) => {
|
|
575
|
+
tasks.push(task);
|
|
576
|
+
return {
|
|
577
|
+
provider: "fixture",
|
|
578
|
+
model: "meaning-v1",
|
|
579
|
+
revision: "r1",
|
|
580
|
+
dimensions: 2,
|
|
581
|
+
vectors: texts.map((text) => (/refund|reimbursement|money back/i.test(text) ? [1, 0] : [0, 1])),
|
|
582
|
+
};
|
|
583
|
+
},
|
|
584
|
+
};
|
|
585
|
+
const store = new InMemoryBrainStore({ embeddingProvider: embedder });
|
|
586
|
+
await seed(store, {
|
|
587
|
+
sourceId: "policy",
|
|
588
|
+
content: "Billing refunds are approved within five days.",
|
|
589
|
+
});
|
|
590
|
+
const results = await store.searchCandidates({
|
|
591
|
+
sources: [{ scope: projectA, sourceId: "policy" }],
|
|
592
|
+
query: "When can a customer get their money back?",
|
|
593
|
+
limit: 5,
|
|
594
|
+
});
|
|
595
|
+
expect(results).toHaveLength(1);
|
|
596
|
+
expect(results[0]).toMatchObject({
|
|
597
|
+
retrievalMode: "semantic",
|
|
598
|
+
ranks: { semantic: 1 },
|
|
599
|
+
scores: { semantic: 1 },
|
|
600
|
+
});
|
|
601
|
+
expect(tasks).toContain("document");
|
|
602
|
+
expect(tasks.at(-1)).toBe("query");
|
|
603
|
+
});
|
|
604
|
+
it("never compares vectors after the embedding identity changes", async () => {
|
|
605
|
+
let revision = "r1";
|
|
606
|
+
const embedder = {
|
|
607
|
+
embed: async ({ texts }) => ({
|
|
608
|
+
provider: "fixture",
|
|
609
|
+
model: "meaning-v1",
|
|
610
|
+
revision,
|
|
611
|
+
dimensions: 2,
|
|
612
|
+
vectors: texts.map(() => [1, 0]),
|
|
613
|
+
}),
|
|
614
|
+
};
|
|
615
|
+
const store = new InMemoryBrainStore({ embeddingProvider: embedder });
|
|
616
|
+
await seed(store, { content: "Refund policy." });
|
|
617
|
+
revision = "r2";
|
|
618
|
+
await expect(store.searchCandidates({
|
|
619
|
+
sources: [{ scope: projectA, sourceId: "source-1" }],
|
|
620
|
+
query: "money back",
|
|
621
|
+
limit: 5,
|
|
622
|
+
})).resolves.toEqual([]);
|
|
623
|
+
});
|
|
624
|
+
it("propagates cancellation to query embedding", async () => {
|
|
625
|
+
const controller = new AbortController();
|
|
626
|
+
const embedder = {
|
|
627
|
+
embed: async ({ texts, task, signal }) => {
|
|
628
|
+
if (task === "query") {
|
|
629
|
+
expect(signal).toBe(controller.signal);
|
|
630
|
+
controller.abort();
|
|
631
|
+
throw Object.assign(new Error("cancelled"), { name: "AbortError" });
|
|
632
|
+
}
|
|
633
|
+
return {
|
|
634
|
+
model: "fixture",
|
|
635
|
+
dimensions: 1,
|
|
636
|
+
vectors: texts.map(() => [1]),
|
|
637
|
+
};
|
|
638
|
+
},
|
|
639
|
+
};
|
|
640
|
+
const store = new InMemoryBrainStore({
|
|
641
|
+
embeddingProvider: embedder,
|
|
642
|
+
});
|
|
643
|
+
await seed(store);
|
|
644
|
+
await expect(retrieveBrain({
|
|
645
|
+
query: "billing",
|
|
646
|
+
scopes: [projectA],
|
|
647
|
+
actor,
|
|
648
|
+
signal: controller.signal,
|
|
649
|
+
}, {
|
|
650
|
+
sourceStore: store,
|
|
651
|
+
chunkStore: store,
|
|
652
|
+
accessPolicy: allow,
|
|
653
|
+
})).rejects.toMatchObject({ name: "AbortError" });
|
|
568
654
|
});
|
|
569
655
|
it("rejects a reranker that drops citation identity in strict mode", async () => {
|
|
570
656
|
const store = new InMemoryBrainStore();
|
|
@@ -595,6 +681,68 @@ describe("Brain ingestion and retrieval", () => {
|
|
|
595
681
|
failureMode: "strict",
|
|
596
682
|
})).rejects.toThrow(/reranker/i);
|
|
597
683
|
});
|
|
684
|
+
it("never converts reranker cancellation into a lexical fallback", async () => {
|
|
685
|
+
const store = new InMemoryBrainStore();
|
|
686
|
+
await seed(store);
|
|
687
|
+
const reranker = {
|
|
688
|
+
rerank: async () => {
|
|
689
|
+
throw Object.assign(new Error("cancelled"), { name: "AbortError" });
|
|
690
|
+
},
|
|
691
|
+
};
|
|
692
|
+
await expect(retrieveBrain({
|
|
693
|
+
query: "billing",
|
|
694
|
+
scopes: [projectA],
|
|
695
|
+
actor,
|
|
696
|
+
}, {
|
|
697
|
+
sourceStore: store,
|
|
698
|
+
chunkStore: store,
|
|
699
|
+
accessPolicy: allow,
|
|
700
|
+
reranker,
|
|
701
|
+
failureMode: "fallback",
|
|
702
|
+
})).rejects.toMatchObject({ name: "AbortError" });
|
|
703
|
+
});
|
|
704
|
+
it("adapts the shared text reranker without losing citation identity", async () => {
|
|
705
|
+
const store = new InMemoryBrainStore();
|
|
706
|
+
await seed(store, {
|
|
707
|
+
sourceId: "a",
|
|
708
|
+
content: "Billing guide alpha.",
|
|
709
|
+
label: "A",
|
|
710
|
+
});
|
|
711
|
+
await seed(store, {
|
|
712
|
+
sourceId: "b",
|
|
713
|
+
content: "Billing guide beta.",
|
|
714
|
+
label: "B",
|
|
715
|
+
});
|
|
716
|
+
let received = [];
|
|
717
|
+
const textReranker = {
|
|
718
|
+
rerank: async ({ candidates }) => {
|
|
719
|
+
received = candidates.map(({ text }) => text);
|
|
720
|
+
return {
|
|
721
|
+
ranking: [
|
|
722
|
+
{ id: "1", score: 0.9 },
|
|
723
|
+
{ id: "0", score: 0.8 },
|
|
724
|
+
],
|
|
725
|
+
};
|
|
726
|
+
},
|
|
727
|
+
};
|
|
728
|
+
const results = await retrieveBrain({
|
|
729
|
+
query: "billing guide",
|
|
730
|
+
scopes: [projectA],
|
|
731
|
+
actor,
|
|
732
|
+
limit: 2,
|
|
733
|
+
tokenBudget: 1_000,
|
|
734
|
+
}, {
|
|
735
|
+
sourceStore: store,
|
|
736
|
+
chunkStore: store,
|
|
737
|
+
accessPolicy: allow,
|
|
738
|
+
reranker: createBrainTextRerankerAdapter(textReranker),
|
|
739
|
+
failureMode: "strict",
|
|
740
|
+
});
|
|
741
|
+
expect(received).toHaveLength(2);
|
|
742
|
+
expect(results.map((result) => result.chunk.sourceId)).toEqual(["b", "a"]);
|
|
743
|
+
expect(results.map((result) => result.scores.rerank)).toEqual([0.9, 0.8]);
|
|
744
|
+
expect(results.every((result) => (result.chunk.citation.sourceId === result.chunk.sourceId))).toBe(true);
|
|
745
|
+
});
|
|
598
746
|
it("enforces the final token budget and returns no segment for empty input", async () => {
|
|
599
747
|
const store = new InMemoryBrainStore();
|
|
600
748
|
await seed(store, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-local.test.js","sourceRoot":"","sources":["../../src/__tests__/brain-local.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,GAMd,MAAM,mBAAmB,CAAC;AAE3B,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAW,CAAC;AACtE,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAW,CAAC;AACtE,MAAM,EAAE,GAAG,0BAA0B,CAAC;AACtC,MAAM,KAAK,GAAsB;IAC/B,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,WAAW;CACvB,CAAC;AACF,MAAM,KAAK,GAAsB;IAC/B,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;CAC3D,CAAC;AAEF,SAAS,MAAM,CACb,EAAU,EACV,QAAoB,QAAQ,EAC5B,KAAK,GAAG,eAAe;IAEvB,OAAO,iBAAiB,CAAC;QACvB,EAAE;QACF,KAAK;QACL,IAAI,EAAE,OAAO;QACb,KAAK;QACL,KAAK,EAAE,eAAe;KACvB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,OAAO,CAAC,QAAgB,EAAE,IAAY;IAC7C,OAAO,wBAAwB,CAAC;QAC9B,QAAQ;QACR,OAAO,EAAE,IAAI;KACd,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,IAAI,CACjB,KAAyB,EACzB,QAMI,EAAE;IAEN,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,UAAU,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;IAC1C,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACjE,OAAO,iBAAiB,CAAC;QACvB,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,iDAAiD;SACzE;QACD,WAAW,EAAE,YAAY;QACzB,KAAK;KACN,EAAE;QACD,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACrC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE;KACd,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAExD,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;aACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;aACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE;YAClD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CACpE,yBAAyB,CAC1B,CAAC;QACF,MAAM,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAClC,OAAO,EAAE,CAAC;oBACR,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;oBACzC,QAAQ,EAAE,UAAU;iBACrB,CAAC;YACF,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QACtD,MAAM,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAClC,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CACzE,uBAAuB,CACxB,CAAC;QACF,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;aACpE,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,kBAAkB,CAAC;YAC/B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;YAC1B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAC7C,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,oBAAoB,CAAC;YAC/B,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC;YACtC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE;gBACN,KAAK,CAAC,CAAC,CAAC;gBACR,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;aACzC;SACF,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QACtD,MAAM,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACnC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAElB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC;YAC3C,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YACpD,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC;YAC9C,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;SAC7B,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QAE/D,MAAM,MAAM,CAAC,iBAAiB,CAAC;YAC7B,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE;YAC9C,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;YAC3C,WAAW,EAAE,sBAAsB;YACnC,KAAK;SACN,EAAE;YACD,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE,CAAC,IAAI,oBAAoB,EAAE,CAAC;YACrC,GAAG,EAAE,GAAG,EAAE,CAAC,0BAA0B;SACtC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE/B,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YAC3B,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YACzB,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YAC5B,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC;YAC3C,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YACpD,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAEpE,MAAM,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAClC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YACpD,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC;YAC5C,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YACpD,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC;YAClC,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBACX,OAAO,EAAE,GAAQ;aAClB;SACF,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,EAAE;YAChB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE;YAChB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,6BAA6B;SACvC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACrC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAClD,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACrC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAClD,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACrC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAClD,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,SAAS,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,GAAG,aAAa;QAClD,OAAO,uBAAuB,CAAC;YAC7B,EAAE;YACF,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,QAAQ;YACnB,SAAS;YACT,WAAW,EAAE,CAAC;SACf,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC1E,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;SACrB,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACpD,GAAG,GAAG,CAAC,OAAO,CAAC;YACf,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC;YACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE;SAChC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,MAAM;SAChB,CAAC;QACF,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC;YAC9B,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC;SAC/B,CAAC,CAAC;QACH,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,KAAK,IAAI,MAAO,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;YAC5B,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;YAC7B,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,OAAO,CAAC,EAAE;YACjB,UAAU,EAAE,OAAO;YACnB,GAAG,EAAE,0BAA0B;SAChC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QACpD,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;YAC7B,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,OAAO,CAAC,EAAE;YACjB,UAAU,EAAE,OAAO,CAAC,UAAW;YAC/B,GAAG,EAAE,0BAA0B;SAChC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC;YACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE;SAChC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;YACrC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,KAAM,CAAC,EAAE;YAChB,UAAU,EAAE,KAAM,CAAC,UAAW;YAC9B,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE;SACpE,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC;YAC9B,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,KAAK;SACf,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEf,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;YACtC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;YACjC,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,MAAO,CAAC,EAAE;YACjB,UAAU,EAAE,MAAO,CAAC,UAAW;YAC/B,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE;SACpE,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;QACxE,MAAM,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC;YAC7C,GAAG,GAAG,EAAE;YACR,WAAW,EAAE,CAAC;SACf,CAAC,CAAC,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;YACvC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAEpE,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;YAC9B,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,cAAc;YACxB,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,KAAK;SACf,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACxB,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,OAAQ,CAAC,EAAE;SACnB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YACzB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE;SACvD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAChC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;YAC1B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC;oBACT,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC;iBACtC,CAAC;YACF,aAAa,EAAE,GAAG;YAClB,iBAAiB,EAAE,EAAE;YACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE;SAChC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,KAAK,CAAC,KAAK,KAAK,KAAK;eAClB,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG;eAC3B,KAAK,CAAC,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE;eACnC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CACnD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC;YAC9B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;YAC1B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC/B,aAAa,EAAE,GAAG;YAClB,iBAAiB,EAAE,GAAG;SACvB,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACnD,MAAM,MAAM,GAAsB;YAChC,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,SAAS;gBAChC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;aACnD,CAAC;SACH,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC;YAClC,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,KAAK;YACL,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,KAAK;SACnB,EAAE;YACD,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC1D,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;SACpD,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,EAAE;YAChB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE;YAChB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;QACH,IAAI,QAAQ,GAA8C,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAkB;YAC9B,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC5B,QAAQ,GAAG,OAAO,CAAC;gBACnB,OAAO,OAAO,CAAC;YACjB,CAAC;SACF,CAAC;QACF,MAAM,MAAM,GAAsB;YAChC,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;gBACtD,MAAM,EAAE,aAAa;aACtB,CAAC;SACH,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC;YAClC,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC5B,KAAK;YACL,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,KAAK;SACnB,EAAE;YACD,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,MAAM;YACpB,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAElB,KAAK,MAAM,SAAS,IAAI;YACtB,KAAK,IAAI,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAU;SAC1C,EAAE,CAAC;YACF,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,CAAC,QAAQ,CAAC;gBAClB,KAAK;gBACL,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,KAAK;aACnB,EAAE;gBACD,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,EAAE,SAAS,EAAE;aAC5B,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,MAAM,GAAsB;YAChC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACtB,OAAO,EAAE,EAAE,KAAK,KAAK,CAAC;gBACtB,MAAM,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;aAClD,CAAC;SACH,CAAC;QAEF,MAAM,MAAM,CAAC,aAAa,CAAC;YACzB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,KAAK;YACL,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,KAAK;SACnB,EAAE;YACD,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAkB;YAC9B,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC5B,MAAM,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;gBACpE,OAAO,OAAO,CAAC;YACjB,CAAC;SACF,CAAC;QAEF,MAAM,MAAM,CAAC,aAAa,CAAC;YACzB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,KAAK;YACL,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,KAAK;SACnB,EAAE;YACD,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,QAAQ;SACT,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,QAAQ,GAA2B;YACvC,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,CAAC;SACF,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,KAAK,EAAE;YAChB,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,sBAAsB;YAC/B,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE;YAChB,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,sBAAsB;YAC/B,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;QACH,MAAM,QAAQ,GAAkB;YAC9B,MAAM,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC;YAClC,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,KAAK;YACL,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,KAAK;SACnB,EAAE;YACD,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,QAAQ;YACR,WAAW,EAAE,UAAU;SACxB,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAkB;YAC9B,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,GAAG,OAAO,CAAC,CAAC,CAAC;oBACb,KAAK,EAAE;wBACL,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;wBACnB,QAAQ,EAAE;4BACR,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;4BAC5B,QAAQ,EAAE,cAAc;yBACzB;qBACF;iBACF,CAAC;SACH,CAAC;QAEF,MAAM,MAAM,CAAC,aAAa,CAAC;YACzB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,KAAK;YACL,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,KAAK;SACnB,EAAE;YACD,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,QAAQ;YACR,WAAW,EAAE,QAAQ;SACtB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,KAAK,EAAE;YAChB,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,aAAa,CAAC;YACzB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,KAAK;YACL,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,CAAC;SACf,EAAE;YACD,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,MAAM,CAAC,aAAa,CAAC;YACzB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,KAAK;YACL,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,KAAK;SACnB,EAAE;YACD,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"brain-local.test.js","sourceRoot":"","sources":["../../src/__tests__/brain-local.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,4 +138,220 @@ describe("Memory lexical ranking", () => {
|
|
|
138
138
|
})).toEqual([]);
|
|
139
139
|
});
|
|
140
140
|
});
|
|
141
|
+
describe("Memory semantic retrieval", () => {
|
|
142
|
+
function provider(options = {}) {
|
|
143
|
+
const currentIdentity = () => ({
|
|
144
|
+
provider: "fixture",
|
|
145
|
+
model: "meaning-v1",
|
|
146
|
+
dimensions: 2,
|
|
147
|
+
revision: options.revision?.() ?? "r1",
|
|
148
|
+
});
|
|
149
|
+
return {
|
|
150
|
+
identity: currentIdentity,
|
|
151
|
+
embed: async ({ texts, task, signal }) => {
|
|
152
|
+
if (signal?.aborted) {
|
|
153
|
+
throw Object.assign(new Error("cancelled"), { name: "AbortError" });
|
|
154
|
+
}
|
|
155
|
+
if (options.failQuery && task === "query") {
|
|
156
|
+
throw new Error("embedding offline");
|
|
157
|
+
}
|
|
158
|
+
return {
|
|
159
|
+
identity: currentIdentity(),
|
|
160
|
+
vectors: texts.map((text) => (/refund|reimbursement|money back/i.test(text) ? [1, 0] : [0, 1])),
|
|
161
|
+
};
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
it("rejects a positive rerank limit without a configured reranker", () => {
|
|
166
|
+
expect(() => new InMemoryMemoryItemStore({}, undefined, {
|
|
167
|
+
rerankLimit: 1,
|
|
168
|
+
})).toThrow("requires a reranker");
|
|
169
|
+
});
|
|
170
|
+
it("recovers paraphrased authorized Memory and exposes deterministic ranking details", async () => {
|
|
171
|
+
const store = new InMemoryMemoryItemStore({}, undefined, {
|
|
172
|
+
embeddingProvider: provider(),
|
|
173
|
+
});
|
|
174
|
+
await store.create(item("refund", "Refunds are approved in five days."), context);
|
|
175
|
+
await store.create(item("other", "The dashboard theme is green."), context);
|
|
176
|
+
const results = await store.search({
|
|
177
|
+
query: "When can I get my money back?",
|
|
178
|
+
maxResults: 5,
|
|
179
|
+
}, context);
|
|
180
|
+
expect(results.map((result) => result.item.id)).toEqual(["refund"]);
|
|
181
|
+
expect(results[0]).toMatchObject({
|
|
182
|
+
retrievalMode: "semantic",
|
|
183
|
+
scores: { semantic: 1 },
|
|
184
|
+
ranks: { semantic: 1 },
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
it("falls back to lexical retrieval when query embedding fails", async () => {
|
|
188
|
+
const store = new InMemoryMemoryItemStore({}, undefined, {
|
|
189
|
+
embeddingProvider: provider({ failQuery: true }),
|
|
190
|
+
});
|
|
191
|
+
await store.create(item("refund", "Refund billing policy."), context);
|
|
192
|
+
await expect(store.search({ query: "refund" }, context)).resolves.toMatchObject([
|
|
193
|
+
{
|
|
194
|
+
item: { id: "refund" },
|
|
195
|
+
retrievalMode: "lexical",
|
|
196
|
+
fallbackReason: "embedding_unavailable",
|
|
197
|
+
},
|
|
198
|
+
]);
|
|
199
|
+
});
|
|
200
|
+
it("does not compare stale vectors after update, forget, or identity migration", async () => {
|
|
201
|
+
let revision = "r1";
|
|
202
|
+
const store = new InMemoryMemoryItemStore({}, undefined, {
|
|
203
|
+
embeddingProvider: provider({ revision: () => revision }),
|
|
204
|
+
});
|
|
205
|
+
await store.create(item("memory", "Refund policy."), context);
|
|
206
|
+
await store.update("memory", { content: "Dashboard theme." }, context);
|
|
207
|
+
await expect(store.search({ query: "money back" }, context)).resolves.toEqual([]);
|
|
208
|
+
await store.update("memory", { content: "Refund policy." }, context);
|
|
209
|
+
revision = "r2";
|
|
210
|
+
await expect(store.search({ query: "money back" }, context)).resolves.toEqual([]);
|
|
211
|
+
revision = "r1";
|
|
212
|
+
await store.forget("memory", context);
|
|
213
|
+
await expect(store.search({ query: "money back" }, context)).resolves.toEqual([]);
|
|
214
|
+
});
|
|
215
|
+
it("never embeds a query when no authorized semantic record is eligible", async () => {
|
|
216
|
+
let queryCalls = 0;
|
|
217
|
+
const base = provider();
|
|
218
|
+
const embeddingProvider = {
|
|
219
|
+
identity: base.identity,
|
|
220
|
+
embed: async (request) => {
|
|
221
|
+
if (request.task === "query")
|
|
222
|
+
queryCalls += 1;
|
|
223
|
+
return base.embed(request);
|
|
224
|
+
},
|
|
225
|
+
};
|
|
226
|
+
const store = new InMemoryMemoryItemStore({}, undefined, {
|
|
227
|
+
embeddingProvider,
|
|
228
|
+
});
|
|
229
|
+
await store.create(item("private", "Refund policy.", { kind: "user", subjectId: "other-user" }), {
|
|
230
|
+
...context,
|
|
231
|
+
access: { ...context.access, externalUserId: "other-user" },
|
|
232
|
+
});
|
|
233
|
+
await expect(store.search({ query: "refund" }, context)).resolves.toEqual([]);
|
|
234
|
+
expect(queryCalls).toBe(0);
|
|
235
|
+
});
|
|
236
|
+
it("propagates an already-aborted semantic query in strict mode", async () => {
|
|
237
|
+
const controller = new AbortController();
|
|
238
|
+
const store = new InMemoryMemoryItemStore({}, undefined, {
|
|
239
|
+
embeddingProvider: provider(),
|
|
240
|
+
});
|
|
241
|
+
await store.create(item("refund", "Refund policy."), context);
|
|
242
|
+
controller.abort();
|
|
243
|
+
await expect(store.search({
|
|
244
|
+
query: "refund",
|
|
245
|
+
signal: controller.signal,
|
|
246
|
+
}, context)).rejects.toMatchObject({ name: "AbortError" });
|
|
247
|
+
});
|
|
248
|
+
it("allows only one concurrent create across a delayed semantic indexing boundary", async () => {
|
|
249
|
+
let releaseEmbedding;
|
|
250
|
+
const released = new Promise((resolve) => {
|
|
251
|
+
releaseEmbedding = resolve;
|
|
252
|
+
});
|
|
253
|
+
const base = provider();
|
|
254
|
+
const store = new InMemoryMemoryItemStore({}, undefined, {
|
|
255
|
+
embeddingProvider: {
|
|
256
|
+
identity: base.identity,
|
|
257
|
+
embed: async (request) => {
|
|
258
|
+
if (request.task === "document")
|
|
259
|
+
await released;
|
|
260
|
+
return base.embed(request);
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
});
|
|
264
|
+
const first = store.create(item("race", "Refund policy."), context);
|
|
265
|
+
const second = store.create(item("race", "Refund policy."), context);
|
|
266
|
+
await Promise.resolve();
|
|
267
|
+
releaseEmbedding?.();
|
|
268
|
+
const settled = await Promise.allSettled([first, second]);
|
|
269
|
+
expect(settled.filter((result) => result.status === "fulfilled")).toHaveLength(1);
|
|
270
|
+
expect(settled.filter((result) => result.status === "rejected")).toMatchObject([
|
|
271
|
+
{ reason: expect.any(MemoryConflictError) },
|
|
272
|
+
]);
|
|
273
|
+
await expect(store.search({ query: "money back" }, context))
|
|
274
|
+
.resolves.toHaveLength(1);
|
|
275
|
+
});
|
|
276
|
+
it("rejects an empty semantic query before calling the provider", async () => {
|
|
277
|
+
let queryCalls = 0;
|
|
278
|
+
const base = provider();
|
|
279
|
+
const store = new InMemoryMemoryItemStore({}, undefined, {
|
|
280
|
+
embeddingProvider: {
|
|
281
|
+
identity: base.identity,
|
|
282
|
+
embed: async (request) => {
|
|
283
|
+
if (request.task === "query")
|
|
284
|
+
queryCalls += 1;
|
|
285
|
+
return base.embed(request);
|
|
286
|
+
},
|
|
287
|
+
},
|
|
288
|
+
});
|
|
289
|
+
await store.create(item("refund", "Refund policy."), context);
|
|
290
|
+
await expect(store.search({ query: " \n\t" }, context))
|
|
291
|
+
.rejects.toThrow("searchable terms");
|
|
292
|
+
expect(queryCalls).toBe(0);
|
|
293
|
+
});
|
|
294
|
+
it("reranks only the authorized shortlist and preserves score diagnostics", async () => {
|
|
295
|
+
let receivedIds = [];
|
|
296
|
+
const reranker = {
|
|
297
|
+
rerank: async ({ candidates }) => {
|
|
298
|
+
receivedIds = candidates.map(({ id }) => id);
|
|
299
|
+
return {
|
|
300
|
+
ranking: [
|
|
301
|
+
{ id: "b", score: 0.9 },
|
|
302
|
+
{ id: "a", score: 0.8 },
|
|
303
|
+
],
|
|
304
|
+
};
|
|
305
|
+
},
|
|
306
|
+
};
|
|
307
|
+
const store = new InMemoryMemoryItemStore({}, undefined, {
|
|
308
|
+
reranker,
|
|
309
|
+
rerankLimit: 2,
|
|
310
|
+
rerankFailureMode: "strict",
|
|
311
|
+
});
|
|
312
|
+
await store.create(item("a", "Billing invoice details."), context);
|
|
313
|
+
await store.create(item("b", "Billing invoice details."), context);
|
|
314
|
+
await store.create(item("denied", "Billing invoice secret.", { kind: "user", subjectId: "other-user" }), {
|
|
315
|
+
...context,
|
|
316
|
+
access: { ...context.access, externalUserId: "other-user" },
|
|
317
|
+
});
|
|
318
|
+
const results = await store.search({ query: "billing invoice" }, context);
|
|
319
|
+
expect(receivedIds).toEqual(["a", "b"]);
|
|
320
|
+
expect(results.map(({ item: value }) => value.id)).toEqual(["b", "a"]);
|
|
321
|
+
expect(results.map(({ scores }) => scores?.rerank)).toEqual([0.9, 0.8]);
|
|
322
|
+
});
|
|
323
|
+
it("falls back to fused order on malformed reranker output", async () => {
|
|
324
|
+
const store = new InMemoryMemoryItemStore({}, undefined, {
|
|
325
|
+
reranker: {
|
|
326
|
+
rerank: async () => ({ ranking: [{ id: "invented", score: 1 }] }),
|
|
327
|
+
},
|
|
328
|
+
rerankLimit: 1,
|
|
329
|
+
rerankFailureMode: "fallback",
|
|
330
|
+
});
|
|
331
|
+
await store.create(item("a", "Billing invoice details."), context);
|
|
332
|
+
await store.create(item("b", "Billing invoice details."), context);
|
|
333
|
+
const results = await store.search({ query: "billing invoice" }, context);
|
|
334
|
+
expect(results.map(({ item: value }) => value.id)).toEqual(["a", "b"]);
|
|
335
|
+
expect(results.every(({ fallbackReason }) => (fallbackReason === "reranker_invalid_output"))).toBe(true);
|
|
336
|
+
});
|
|
337
|
+
it("rechecks lifecycle after asynchronous reranking", async () => {
|
|
338
|
+
let store;
|
|
339
|
+
store = new InMemoryMemoryItemStore({}, undefined, {
|
|
340
|
+
reranker: {
|
|
341
|
+
rerank: async ({ candidates }) => {
|
|
342
|
+
await store.forget("a", context);
|
|
343
|
+
return {
|
|
344
|
+
ranking: candidates.map(({ id }, index) => ({ id, score: 1 - index })),
|
|
345
|
+
};
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
rerankLimit: 2,
|
|
349
|
+
rerankFailureMode: "strict",
|
|
350
|
+
});
|
|
351
|
+
await store.create(item("a", "Billing invoice details."), context);
|
|
352
|
+
await store.create(item("b", "Billing invoice details."), context);
|
|
353
|
+
const results = await store.search({ query: "billing invoice" }, context);
|
|
354
|
+
expect(results.map(({ item: value }) => value.id)).toEqual(["b"]);
|
|
355
|
+
});
|
|
356
|
+
});
|
|
141
357
|
//# sourceMappingURL=memory-store-policy.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store-policy.test.js","sourceRoot":"","sources":["../../src/__tests__/memory-store-policy.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-store-policy.test.js","sourceRoot":"","sources":["../../src/__tests__/memory-store-policy.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,11 @@ describe("project layout v2 agent definitions", () => {
|
|
|
47
47
|
writeScope: "invocation-user",
|
|
48
48
|
writableKinds: ["fact", "preference"],
|
|
49
49
|
},
|
|
50
|
+
learning: {
|
|
51
|
+
mode: "suggest",
|
|
52
|
+
surfaces: ["chat", "channel"],
|
|
53
|
+
kinds: ["fact", "preference"],
|
|
54
|
+
},
|
|
50
55
|
},
|
|
51
56
|
allowedPaths: ["/workspace"],
|
|
52
57
|
systemPrompt: "Build the requested product.",
|