@fgv/ts-agent-memory 5.1.0-39 → 5.1.0-41
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/.rush/temp/{b82cf6bdece20481260e6bab946179eeec9d7b46.tar.log → cbbdbe09515171b4eba8f2592be2dace1e4e8142.tar.log} +14 -2
- package/.rush/temp/chunked-rush-logs/ts-agent-memory.build.chunks.jsonl +2 -2
- package/.rush/temp/operation/build/all.log +2 -2
- package/.rush/temp/operation/build/log-chunks.jsonl +2 -2
- package/.rush/temp/operation/build/state.json +1 -1
- package/dist/packlets/converters/envelopeConverter.js +17 -3
- package/dist/packlets/converters/envelopeConverter.js.map +1 -1
- package/dist/packlets/index/memoryIndex.js +58 -10
- package/dist/packlets/index/memoryIndex.js.map +1 -1
- package/dist/packlets/ingest/cycleGuard.js +13 -6
- package/dist/packlets/ingest/cycleGuard.js.map +1 -1
- package/dist/packlets/ingest/hostStages.js.map +1 -1
- package/dist/packlets/ingest/model.js.map +1 -1
- package/dist/packlets/ingest/orchestrator.js +94 -49
- package/dist/packlets/ingest/orchestrator.js.map +1 -1
- package/dist/packlets/retrieve/hybridRetriever.js +13 -2
- package/dist/packlets/retrieve/hybridRetriever.js.map +1 -1
- package/dist/packlets/retrieve/linkTraversalRetriever.js +46 -57
- package/dist/packlets/retrieve/linkTraversalRetriever.js.map +1 -1
- package/dist/packlets/retrieve/recencyRetriever.js +3 -3
- package/dist/packlets/retrieve/recencyRetriever.js.map +1 -1
- package/dist/packlets/retrieve/retriever.js +50 -7
- package/dist/packlets/retrieve/retriever.js.map +1 -1
- package/dist/packlets/retrieve/semanticRetriever.js +9 -3
- package/dist/packlets/retrieve/semanticRetriever.js.map +1 -1
- package/dist/packlets/retrieve/structuredFilterRetriever.js +3 -3
- package/dist/packlets/retrieve/structuredFilterRetriever.js.map +1 -1
- package/dist/packlets/retrieve/tagRetriever.js +3 -3
- package/dist/packlets/retrieve/tagRetriever.js.map +1 -1
- package/dist/packlets/retrieve/temporalRetrievers.js +3 -3
- package/dist/packlets/retrieve/temporalRetrievers.js.map +1 -1
- package/dist/packlets/store/fileTreeMemoryStore.js +72 -16
- package/dist/packlets/store/fileTreeMemoryStore.js.map +1 -1
- package/dist/packlets/tools/memoryTools.js +104 -21
- package/dist/packlets/tools/memoryTools.js.map +1 -1
- package/dist/packlets/types/envelope.js +13 -1
- package/dist/packlets/types/envelope.js.map +1 -1
- package/dist/packlets/vector/inMemoryCosineIndex.js +22 -17
- package/dist/packlets/vector/inMemoryCosineIndex.js.map +1 -1
- package/dist/packlets/vector/vectorIndex.js.map +1 -1
- package/dist/test/unit/converters/antagonistRoundTrip.test.js +3 -3
- package/dist/test/unit/converters/antagonistRoundTrip.test.js.map +1 -1
- package/dist/test/unit/converters/envelopeConverter.test.js +125 -8
- package/dist/test/unit/converters/envelopeConverter.test.js.map +1 -1
- package/dist/test/unit/index/memoryIndex.test.js +87 -25
- package/dist/test/unit/index/memoryIndex.test.js.map +1 -1
- package/dist/test/unit/ingest/antagonistCycleAndParity.test.js +20 -16
- package/dist/test/unit/ingest/antagonistCycleAndParity.test.js.map +1 -1
- package/dist/test/unit/ingest/cycleGuard.test.js +28 -1
- package/dist/test/unit/ingest/cycleGuard.test.js.map +1 -1
- package/dist/test/unit/ingest/orchestrator.test.js +187 -45
- package/dist/test/unit/ingest/orchestrator.test.js.map +1 -1
- package/dist/test/unit/retrieve/linkTraversalRetriever.test.js +106 -31
- package/dist/test/unit/retrieve/linkTraversalRetriever.test.js.map +1 -1
- package/dist/test/unit/retrieve/retrievers.test.js +299 -37
- package/dist/test/unit/retrieve/retrievers.test.js.map +1 -1
- package/dist/test/unit/store/embedOnWrite.test.js +69 -12
- package/dist/test/unit/store/embedOnWrite.test.js.map +1 -1
- package/dist/test/unit/store/listScoped.test.js +109 -0
- package/dist/test/unit/store/listScoped.test.js.map +1 -0
- package/dist/test/unit/store/rankAxis.test.js +254 -0
- package/dist/test/unit/store/rankAxis.test.js.map +1 -0
- package/dist/test/unit/tools/memoryTools.test.js +280 -11
- package/dist/test/unit/tools/memoryTools.test.js.map +1 -1
- package/dist/test/unit/types/writePolicy.test.js +9 -2
- package/dist/test/unit/types/writePolicy.test.js.map +1 -1
- package/dist/test/unit/vector/inMemoryCosineIndex.test.js +95 -35
- package/dist/test/unit/vector/inMemoryCosineIndex.test.js.map +1 -1
- package/dist/test/unit/vector/vectorIndex.test.js +24 -15
- package/dist/test/unit/vector/vectorIndex.test.js.map +1 -1
- package/dist/ts-agent-memory.d.ts +384 -97
- package/etc/ts-agent-memory.api.md +64 -22
- package/lib/packlets/converters/envelopeConverter.d.ts +8 -1
- package/lib/packlets/converters/envelopeConverter.d.ts.map +1 -1
- package/lib/packlets/converters/envelopeConverter.js +18 -4
- package/lib/packlets/converters/envelopeConverter.js.map +1 -1
- package/lib/packlets/index/memoryIndex.d.ts +42 -10
- package/lib/packlets/index/memoryIndex.d.ts.map +1 -1
- package/lib/packlets/index/memoryIndex.js +58 -10
- package/lib/packlets/index/memoryIndex.js.map +1 -1
- package/lib/packlets/ingest/cycleGuard.d.ts +5 -5
- package/lib/packlets/ingest/cycleGuard.d.ts.map +1 -1
- package/lib/packlets/ingest/cycleGuard.js +13 -6
- package/lib/packlets/ingest/cycleGuard.js.map +1 -1
- package/lib/packlets/ingest/hostStages.d.ts +3 -3
- package/lib/packlets/ingest/hostStages.d.ts.map +1 -1
- package/lib/packlets/ingest/hostStages.js.map +1 -1
- package/lib/packlets/ingest/model.d.ts +25 -14
- package/lib/packlets/ingest/model.d.ts.map +1 -1
- package/lib/packlets/ingest/model.js.map +1 -1
- package/lib/packlets/ingest/orchestrator.d.ts +18 -4
- package/lib/packlets/ingest/orchestrator.d.ts.map +1 -1
- package/lib/packlets/ingest/orchestrator.js +93 -48
- package/lib/packlets/ingest/orchestrator.js.map +1 -1
- package/lib/packlets/retrieve/hybridRetriever.d.ts.map +1 -1
- package/lib/packlets/retrieve/hybridRetriever.js +12 -1
- package/lib/packlets/retrieve/hybridRetriever.js.map +1 -1
- package/lib/packlets/retrieve/linkTraversalRetriever.d.ts +18 -23
- package/lib/packlets/retrieve/linkTraversalRetriever.d.ts.map +1 -1
- package/lib/packlets/retrieve/linkTraversalRetriever.js +45 -56
- package/lib/packlets/retrieve/linkTraversalRetriever.js.map +1 -1
- package/lib/packlets/retrieve/recencyRetriever.js +2 -2
- package/lib/packlets/retrieve/recencyRetriever.js.map +1 -1
- package/lib/packlets/retrieve/retriever.d.ts +70 -11
- package/lib/packlets/retrieve/retriever.d.ts.map +1 -1
- package/lib/packlets/retrieve/retriever.js +52 -7
- package/lib/packlets/retrieve/retriever.js.map +1 -1
- package/lib/packlets/retrieve/semanticRetriever.d.ts.map +1 -1
- package/lib/packlets/retrieve/semanticRetriever.js +9 -3
- package/lib/packlets/retrieve/semanticRetriever.js.map +1 -1
- package/lib/packlets/retrieve/structuredFilterRetriever.js +2 -2
- package/lib/packlets/retrieve/structuredFilterRetriever.js.map +1 -1
- package/lib/packlets/retrieve/tagRetriever.js +2 -2
- package/lib/packlets/retrieve/tagRetriever.js.map +1 -1
- package/lib/packlets/retrieve/temporalRetrievers.js +3 -3
- package/lib/packlets/retrieve/temporalRetrievers.js.map +1 -1
- package/lib/packlets/store/fileTreeMemoryStore.d.ts +57 -3
- package/lib/packlets/store/fileTreeMemoryStore.d.ts.map +1 -1
- package/lib/packlets/store/fileTreeMemoryStore.js +72 -16
- package/lib/packlets/store/fileTreeMemoryStore.js.map +1 -1
- package/lib/packlets/tools/memoryTools.d.ts +24 -0
- package/lib/packlets/tools/memoryTools.d.ts.map +1 -1
- package/lib/packlets/tools/memoryTools.js +104 -21
- package/lib/packlets/tools/memoryTools.js.map +1 -1
- package/lib/packlets/types/envelope.d.ts +61 -8
- package/lib/packlets/types/envelope.d.ts.map +1 -1
- package/lib/packlets/types/envelope.js +14 -0
- package/lib/packlets/types/envelope.js.map +1 -1
- package/lib/packlets/vector/inMemoryCosineIndex.d.ts +9 -5
- package/lib/packlets/vector/inMemoryCosineIndex.d.ts.map +1 -1
- package/lib/packlets/vector/inMemoryCosineIndex.js +22 -17
- package/lib/packlets/vector/inMemoryCosineIndex.js.map +1 -1
- package/lib/packlets/vector/vectorIndex.d.ts +46 -20
- package/lib/packlets/vector/vectorIndex.d.ts.map +1 -1
- package/lib/packlets/vector/vectorIndex.js.map +1 -1
- package/lib/test/unit/converters/antagonistRoundTrip.test.js +3 -3
- package/lib/test/unit/converters/antagonistRoundTrip.test.js.map +1 -1
- package/lib/test/unit/converters/envelopeConverter.test.js +124 -7
- package/lib/test/unit/converters/envelopeConverter.test.js.map +1 -1
- package/lib/test/unit/index/memoryIndex.test.js +86 -24
- package/lib/test/unit/index/memoryIndex.test.js.map +1 -1
- package/lib/test/unit/ingest/antagonistCycleAndParity.test.js +20 -16
- package/lib/test/unit/ingest/antagonistCycleAndParity.test.js.map +1 -1
- package/lib/test/unit/ingest/cycleGuard.test.js +28 -1
- package/lib/test/unit/ingest/cycleGuard.test.js.map +1 -1
- package/lib/test/unit/ingest/orchestrator.test.js +186 -44
- package/lib/test/unit/ingest/orchestrator.test.js.map +1 -1
- package/lib/test/unit/retrieve/linkTraversalRetriever.test.js +106 -31
- package/lib/test/unit/retrieve/linkTraversalRetriever.test.js.map +1 -1
- package/lib/test/unit/retrieve/retrievers.test.js +298 -36
- package/lib/test/unit/retrieve/retrievers.test.js.map +1 -1
- package/lib/test/unit/store/embedOnWrite.test.js +68 -11
- package/lib/test/unit/store/embedOnWrite.test.js.map +1 -1
- package/lib/test/unit/store/listScoped.test.d.ts +2 -0
- package/lib/test/unit/store/listScoped.test.d.ts.map +1 -0
- package/lib/test/unit/store/listScoped.test.js +111 -0
- package/lib/test/unit/store/listScoped.test.js.map +1 -0
- package/lib/test/unit/store/rankAxis.test.d.ts +2 -0
- package/lib/test/unit/store/rankAxis.test.d.ts.map +1 -0
- package/lib/test/unit/store/rankAxis.test.js +256 -0
- package/lib/test/unit/store/rankAxis.test.js.map +1 -0
- package/lib/test/unit/tools/memoryTools.test.js +280 -11
- package/lib/test/unit/tools/memoryTools.test.js.map +1 -1
- package/lib/test/unit/types/writePolicy.test.js +9 -2
- package/lib/test/unit/types/writePolicy.test.js.map +1 -1
- package/lib/test/unit/vector/inMemoryCosineIndex.test.js +95 -35
- package/lib/test/unit/vector/inMemoryCosineIndex.test.js.map +1 -1
- package/lib/test/unit/vector/vectorIndex.test.js +24 -15
- package/lib/test/unit/vector/vectorIndex.test.js.map +1 -1
- package/package.json +7 -7
- package/rush-logs/ts-agent-memory.build.cache.log +1 -1
- package/rush-logs/ts-agent-memory.build.log +2 -2
- package/src/packlets/converters/envelopeConverter.ts +27 -4
- package/src/packlets/index/memoryIndex.ts +86 -22
- package/src/packlets/ingest/cycleGuard.ts +22 -11
- package/src/packlets/ingest/hostStages.ts +3 -3
- package/src/packlets/ingest/model.ts +25 -14
- package/src/packlets/ingest/orchestrator.ts +143 -67
- package/src/packlets/retrieve/hybridRetriever.ts +14 -1
- package/src/packlets/retrieve/linkTraversalRetriever.ts +51 -62
- package/src/packlets/retrieve/recencyRetriever.ts +3 -3
- package/src/packlets/retrieve/retriever.ts +97 -13
- package/src/packlets/retrieve/semanticRetriever.ts +10 -5
- package/src/packlets/retrieve/structuredFilterRetriever.ts +3 -3
- package/src/packlets/retrieve/tagRetriever.ts +3 -3
- package/src/packlets/retrieve/temporalRetrievers.ts +3 -3
- package/src/packlets/store/fileTreeMemoryStore.ts +117 -12
- package/src/packlets/tools/memoryTools.ts +152 -25
- package/src/packlets/types/envelope.ts +66 -8
- package/src/packlets/vector/inMemoryCosineIndex.ts +45 -22
- package/src/packlets/vector/vectorIndex.ts +47 -20
- package/src/test/unit/converters/antagonistRoundTrip.test.ts +3 -3
- package/src/test/unit/converters/envelopeConverter.test.ts +168 -11
- package/src/test/unit/index/memoryIndex.test.ts +99 -14
- package/src/test/unit/ingest/antagonistCycleAndParity.test.ts +23 -18
- package/src/test/unit/ingest/cycleGuard.test.ts +44 -2
- package/src/test/unit/ingest/orchestrator.test.ts +234 -41
- package/src/test/unit/retrieve/linkTraversalRetriever.test.ts +134 -35
- package/src/test/unit/retrieve/retrievers.test.ts +381 -25
- package/src/test/unit/store/embedOnWrite.test.ts +83 -11
- package/src/test/unit/store/listScoped.test.ts +138 -0
- package/src/test/unit/store/rankAxis.test.ts +349 -0
- package/src/test/unit/tools/memoryTools.test.ts +362 -13
- package/src/test/unit/types/writePolicy.test.ts +11 -2
- package/src/test/unit/vector/inMemoryCosineIndex.test.ts +115 -39
- package/src/test/unit/vector/vectorIndex.test.ts +33 -17
- package/temp/build/lint/_eslint-5eVG3S6w.json +41 -33
- package/temp/build/typescript/ts_8nwakTlr.json +1 -1
- package/temp/ts-agent-memory.api.json +1080 -136
- package/temp/ts-agent-memory.api.md +64 -22
|
@@ -1731,6 +1731,89 @@
|
|
|
1731
1731
|
"endIndex": 5
|
|
1732
1732
|
}
|
|
1733
1733
|
},
|
|
1734
|
+
{
|
|
1735
|
+
"kind": "Variable",
|
|
1736
|
+
"canonicalReference": "@fgv/ts-agent-memory!edgeTargetConverter:var",
|
|
1737
|
+
"docComment": "/**\n * Converter for a scope-qualified {@link IEdgeTarget}. Both `scope` and `id` are required — the whole point of the scoped target is that a bare id is ambiguous across scopes.\n *\n * @public\n */\n",
|
|
1738
|
+
"excerptTokens": [
|
|
1739
|
+
{
|
|
1740
|
+
"kind": "Content",
|
|
1741
|
+
"text": "edgeTargetConverter: "
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
"kind": "Reference",
|
|
1745
|
+
"text": "Converter",
|
|
1746
|
+
"canonicalReference": "@fgv/ts-utils!Converter:interface"
|
|
1747
|
+
},
|
|
1748
|
+
{
|
|
1749
|
+
"kind": "Content",
|
|
1750
|
+
"text": "<"
|
|
1751
|
+
},
|
|
1752
|
+
{
|
|
1753
|
+
"kind": "Reference",
|
|
1754
|
+
"text": "IEdgeTarget",
|
|
1755
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
1756
|
+
},
|
|
1757
|
+
{
|
|
1758
|
+
"kind": "Content",
|
|
1759
|
+
"text": ">"
|
|
1760
|
+
}
|
|
1761
|
+
],
|
|
1762
|
+
"fileUrlPath": "src/packlets/converters/envelopeConverter.ts",
|
|
1763
|
+
"isReadonly": true,
|
|
1764
|
+
"releaseTag": "Public",
|
|
1765
|
+
"name": "edgeTargetConverter",
|
|
1766
|
+
"variableTypeTokenRange": {
|
|
1767
|
+
"startIndex": 1,
|
|
1768
|
+
"endIndex": 5
|
|
1769
|
+
}
|
|
1770
|
+
},
|
|
1771
|
+
{
|
|
1772
|
+
"kind": "Function",
|
|
1773
|
+
"canonicalReference": "@fgv/ts-agent-memory!edgeTargetKey:function(1)",
|
|
1774
|
+
"docComment": "/**\n * The canonical composite-key string for an {@link IEdgeTarget}: scope + id, NUL-separated. NUL is excluded from both components (scope segments are filename-safe; {@link MemoryId} is portable-filename-safe), so it is a collision-proof separator. This is the ONE canonicalization every consumer that keys on a scoped target uses — the backlink index, the cycle guard, and the ingest edge-validation path all route through it so their notions of \"same target\" cannot drift.\n *\n * @public\n */\n",
|
|
1775
|
+
"excerptTokens": [
|
|
1776
|
+
{
|
|
1777
|
+
"kind": "Content",
|
|
1778
|
+
"text": "export declare function edgeTargetKey(target: "
|
|
1779
|
+
},
|
|
1780
|
+
{
|
|
1781
|
+
"kind": "Reference",
|
|
1782
|
+
"text": "IEdgeTarget",
|
|
1783
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
1784
|
+
},
|
|
1785
|
+
{
|
|
1786
|
+
"kind": "Content",
|
|
1787
|
+
"text": "): "
|
|
1788
|
+
},
|
|
1789
|
+
{
|
|
1790
|
+
"kind": "Content",
|
|
1791
|
+
"text": "string"
|
|
1792
|
+
},
|
|
1793
|
+
{
|
|
1794
|
+
"kind": "Content",
|
|
1795
|
+
"text": ";"
|
|
1796
|
+
}
|
|
1797
|
+
],
|
|
1798
|
+
"fileUrlPath": "src/packlets/types/envelope.ts",
|
|
1799
|
+
"returnTypeTokenRange": {
|
|
1800
|
+
"startIndex": 3,
|
|
1801
|
+
"endIndex": 4
|
|
1802
|
+
},
|
|
1803
|
+
"releaseTag": "Public",
|
|
1804
|
+
"overloadIndex": 1,
|
|
1805
|
+
"parameters": [
|
|
1806
|
+
{
|
|
1807
|
+
"parameterName": "target",
|
|
1808
|
+
"parameterTypeTokenRange": {
|
|
1809
|
+
"startIndex": 1,
|
|
1810
|
+
"endIndex": 2
|
|
1811
|
+
},
|
|
1812
|
+
"isOptional": false
|
|
1813
|
+
}
|
|
1814
|
+
],
|
|
1815
|
+
"name": "edgeTargetKey"
|
|
1816
|
+
},
|
|
1734
1817
|
{
|
|
1735
1818
|
"kind": "TypeAlias",
|
|
1736
1819
|
"canonicalReference": "@fgv/ts-agent-memory!EntityId:type",
|
|
@@ -1861,6 +1944,38 @@
|
|
|
1861
1944
|
"name": "FileTreeMemoryStore",
|
|
1862
1945
|
"preserveMemberOrder": false,
|
|
1863
1946
|
"members": [
|
|
1947
|
+
{
|
|
1948
|
+
"kind": "Method",
|
|
1949
|
+
"canonicalReference": "@fgv/ts-agent-memory!FileTreeMemoryStore#asRecordSource:member(1)",
|
|
1950
|
+
"docComment": "/**\n * Adapt this store to the {@link IMemoryRecordSource} seam so it can drive {@link IVectorIndex} rebuilds (e.g. `InMemoryCosineIndex.rebuild`). The returned source's `list()` delegates to {@link IMemoryStore.listScoped}. The store cannot implement {@link IMemoryRecordSource} directly because its `list(filter?)` returns bare records (the ergonomic query surface) while the seam's `list()` returns scope-qualified records.\n */\n",
|
|
1951
|
+
"excerptTokens": [
|
|
1952
|
+
{
|
|
1953
|
+
"kind": "Content",
|
|
1954
|
+
"text": "asRecordSource(): "
|
|
1955
|
+
},
|
|
1956
|
+
{
|
|
1957
|
+
"kind": "Reference",
|
|
1958
|
+
"text": "IMemoryRecordSource",
|
|
1959
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecordSource:interface"
|
|
1960
|
+
},
|
|
1961
|
+
{
|
|
1962
|
+
"kind": "Content",
|
|
1963
|
+
"text": ";"
|
|
1964
|
+
}
|
|
1965
|
+
],
|
|
1966
|
+
"isStatic": false,
|
|
1967
|
+
"returnTypeTokenRange": {
|
|
1968
|
+
"startIndex": 1,
|
|
1969
|
+
"endIndex": 2
|
|
1970
|
+
},
|
|
1971
|
+
"releaseTag": "Public",
|
|
1972
|
+
"isProtected": false,
|
|
1973
|
+
"overloadIndex": 1,
|
|
1974
|
+
"parameters": [],
|
|
1975
|
+
"isOptional": false,
|
|
1976
|
+
"isAbstract": false,
|
|
1977
|
+
"name": "asRecordSource"
|
|
1978
|
+
},
|
|
1864
1979
|
{
|
|
1865
1980
|
"kind": "Method",
|
|
1866
1981
|
"canonicalReference": "@fgv/ts-agent-memory!FileTreeMemoryStore.create:member(1)",
|
|
@@ -2272,6 +2387,69 @@
|
|
|
2272
2387
|
"isAbstract": false,
|
|
2273
2388
|
"name": "list"
|
|
2274
2389
|
},
|
|
2390
|
+
{
|
|
2391
|
+
"kind": "Method",
|
|
2392
|
+
"canonicalReference": "@fgv/ts-agent-memory!FileTreeMemoryStore#listScoped:member(1)",
|
|
2393
|
+
"docComment": "/**\n * List EVERY record in the vault, each paired with its scope-qualified `(scope, id)` address — the projection {@link IMemoryRecordSource} requires. Unlike {@link IMemoryStore.list | list}, it takes no filter (whole-vault) and returns {@link IScopedMemoryRecord}s so a re-index keys each entry on the same scoped target the incremental embed-on-write path uses. Two records that share a filename stem across scopes appear as distinct entries.\n */\n",
|
|
2394
|
+
"excerptTokens": [
|
|
2395
|
+
{
|
|
2396
|
+
"kind": "Content",
|
|
2397
|
+
"text": "listScoped(): "
|
|
2398
|
+
},
|
|
2399
|
+
{
|
|
2400
|
+
"kind": "Reference",
|
|
2401
|
+
"text": "Promise",
|
|
2402
|
+
"canonicalReference": "!Promise:interface"
|
|
2403
|
+
},
|
|
2404
|
+
{
|
|
2405
|
+
"kind": "Content",
|
|
2406
|
+
"text": "<"
|
|
2407
|
+
},
|
|
2408
|
+
{
|
|
2409
|
+
"kind": "Reference",
|
|
2410
|
+
"text": "Result",
|
|
2411
|
+
"canonicalReference": "@fgv/ts-utils!Result:type"
|
|
2412
|
+
},
|
|
2413
|
+
{
|
|
2414
|
+
"kind": "Content",
|
|
2415
|
+
"text": "<"
|
|
2416
|
+
},
|
|
2417
|
+
{
|
|
2418
|
+
"kind": "Reference",
|
|
2419
|
+
"text": "ReadonlyArray",
|
|
2420
|
+
"canonicalReference": "!ReadonlyArray:interface"
|
|
2421
|
+
},
|
|
2422
|
+
{
|
|
2423
|
+
"kind": "Content",
|
|
2424
|
+
"text": "<"
|
|
2425
|
+
},
|
|
2426
|
+
{
|
|
2427
|
+
"kind": "Reference",
|
|
2428
|
+
"text": "IScopedMemoryRecord",
|
|
2429
|
+
"canonicalReference": "@fgv/ts-agent-memory!IScopedMemoryRecord:interface"
|
|
2430
|
+
},
|
|
2431
|
+
{
|
|
2432
|
+
"kind": "Content",
|
|
2433
|
+
"text": ">>>"
|
|
2434
|
+
},
|
|
2435
|
+
{
|
|
2436
|
+
"kind": "Content",
|
|
2437
|
+
"text": ";"
|
|
2438
|
+
}
|
|
2439
|
+
],
|
|
2440
|
+
"isStatic": false,
|
|
2441
|
+
"returnTypeTokenRange": {
|
|
2442
|
+
"startIndex": 1,
|
|
2443
|
+
"endIndex": 9
|
|
2444
|
+
},
|
|
2445
|
+
"releaseTag": "Public",
|
|
2446
|
+
"isProtected": false,
|
|
2447
|
+
"overloadIndex": 1,
|
|
2448
|
+
"parameters": [],
|
|
2449
|
+
"isOptional": false,
|
|
2450
|
+
"isAbstract": false,
|
|
2451
|
+
"name": "listScoped"
|
|
2452
|
+
},
|
|
2275
2453
|
{
|
|
2276
2454
|
"kind": "Method",
|
|
2277
2455
|
"canonicalReference": "@fgv/ts-agent-memory!FileTreeMemoryStore#put:member(1)",
|
|
@@ -3290,7 +3468,7 @@
|
|
|
3290
3468
|
{
|
|
3291
3469
|
"kind": "PropertySignature",
|
|
3292
3470
|
"canonicalReference": "@fgv/ts-agent-memory!ICandidateEdge#source:member",
|
|
3293
|
-
"docComment": "/**\n * The reference
|
|
3471
|
+
"docComment": "/**\n * The scope-qualified reference (codec `(scope, idStem)`) of the candidate the edge originates from.\n */\n",
|
|
3294
3472
|
"excerptTokens": [
|
|
3295
3473
|
{
|
|
3296
3474
|
"kind": "Content",
|
|
@@ -3298,8 +3476,8 @@
|
|
|
3298
3476
|
},
|
|
3299
3477
|
{
|
|
3300
3478
|
"kind": "Reference",
|
|
3301
|
-
"text": "
|
|
3302
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
3479
|
+
"text": "IEdgeTarget",
|
|
3480
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
3303
3481
|
},
|
|
3304
3482
|
{
|
|
3305
3483
|
"kind": "Content",
|
|
@@ -3583,6 +3761,56 @@
|
|
|
3583
3761
|
"endIndex": 5
|
|
3584
3762
|
}
|
|
3585
3763
|
},
|
|
3764
|
+
{
|
|
3765
|
+
"kind": "PropertySignature",
|
|
3766
|
+
"canonicalReference": "@fgv/ts-agent-memory!ICreateMemoryToolsParams#projectItem:member",
|
|
3767
|
+
"docComment": "/**\n * Optional host projector mapping a record (and the requested detail tier) to its agent-visible {@link IMemoryToolResultItem}. When supplied, every `memory_search` / `memory_context` / `memory_read` result item is produced by this callback — the host owns how much of the body a `'gist'` vs `'full'` result carries, so it can bound the default (`'gist'`) path.\n *\n * When absent, the built-in default projection is used (full body plus the {@link ICreateMemoryToolsParams.handleFor | handleFor} handle), which ignores the detail tier — behavior is byte-identical to a build with no projector.\n *\n * The callback is guarded exactly like `handleFor`: a throw degrades to the default full-body projection for that item rather than failing the whole search.\n */\n",
|
|
3768
|
+
"excerptTokens": [
|
|
3769
|
+
{
|
|
3770
|
+
"kind": "Content",
|
|
3771
|
+
"text": "readonly projectItem?: "
|
|
3772
|
+
},
|
|
3773
|
+
{
|
|
3774
|
+
"kind": "Content",
|
|
3775
|
+
"text": "(record: "
|
|
3776
|
+
},
|
|
3777
|
+
{
|
|
3778
|
+
"kind": "Reference",
|
|
3779
|
+
"text": "IMemoryRecord",
|
|
3780
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecord:interface"
|
|
3781
|
+
},
|
|
3782
|
+
{
|
|
3783
|
+
"kind": "Content",
|
|
3784
|
+
"text": "<unknown>, detail: "
|
|
3785
|
+
},
|
|
3786
|
+
{
|
|
3787
|
+
"kind": "Reference",
|
|
3788
|
+
"text": "MemoryDetailTier",
|
|
3789
|
+
"canonicalReference": "@fgv/ts-agent-memory!MemoryDetailTier:type"
|
|
3790
|
+
},
|
|
3791
|
+
{
|
|
3792
|
+
"kind": "Content",
|
|
3793
|
+
"text": ") => "
|
|
3794
|
+
},
|
|
3795
|
+
{
|
|
3796
|
+
"kind": "Reference",
|
|
3797
|
+
"text": "IMemoryToolResultItem",
|
|
3798
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryToolResultItem:interface"
|
|
3799
|
+
},
|
|
3800
|
+
{
|
|
3801
|
+
"kind": "Content",
|
|
3802
|
+
"text": ";"
|
|
3803
|
+
}
|
|
3804
|
+
],
|
|
3805
|
+
"isReadonly": true,
|
|
3806
|
+
"isOptional": true,
|
|
3807
|
+
"releaseTag": "Public",
|
|
3808
|
+
"name": "projectItem",
|
|
3809
|
+
"propertyTypeTokenRange": {
|
|
3810
|
+
"startIndex": 1,
|
|
3811
|
+
"endIndex": 7
|
|
3812
|
+
}
|
|
3813
|
+
},
|
|
3586
3814
|
{
|
|
3587
3815
|
"kind": "PropertySignature",
|
|
3588
3816
|
"canonicalReference": "@fgv/ts-agent-memory!ICreateMemoryToolsParams#registry:member",
|
|
@@ -3714,7 +3942,7 @@
|
|
|
3714
3942
|
{
|
|
3715
3943
|
"kind": "Interface",
|
|
3716
3944
|
"canonicalReference": "@fgv/ts-agent-memory!ICycleGuardEdge:interface",
|
|
3717
|
-
"docComment": "/**\n * A directed edge in the link graph the cycle guard reasons over: `source` links to `target` under relation `type`.\n *\n * @public\n */\n",
|
|
3945
|
+
"docComment": "/**\n * A directed edge in the link graph the cycle guard reasons over: scope-qualified `source` links to scope-qualified `target` under relation `type`.\n *\n * @public\n */\n",
|
|
3718
3946
|
"excerptTokens": [
|
|
3719
3947
|
{
|
|
3720
3948
|
"kind": "Content",
|
|
@@ -3737,8 +3965,8 @@
|
|
|
3737
3965
|
},
|
|
3738
3966
|
{
|
|
3739
3967
|
"kind": "Reference",
|
|
3740
|
-
"text": "
|
|
3741
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
3968
|
+
"text": "IEdgeTarget",
|
|
3969
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
3742
3970
|
},
|
|
3743
3971
|
{
|
|
3744
3972
|
"kind": "Content",
|
|
@@ -3765,8 +3993,8 @@
|
|
|
3765
3993
|
},
|
|
3766
3994
|
{
|
|
3767
3995
|
"kind": "Reference",
|
|
3768
|
-
"text": "
|
|
3769
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
3996
|
+
"text": "IEdgeTarget",
|
|
3997
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
3770
3998
|
},
|
|
3771
3999
|
{
|
|
3772
4000
|
"kind": "Content",
|
|
@@ -3816,7 +4044,7 @@
|
|
|
3816
4044
|
{
|
|
3817
4045
|
"kind": "Interface",
|
|
3818
4046
|
"canonicalReference": "@fgv/ts-agent-memory!IEdge:interface",
|
|
3819
|
-
"docComment": "/**\n * An attributed link between two records. Carries the relation type, the target
|
|
4047
|
+
"docComment": "/**\n * An attributed link between two records. Carries the relation type, the scope-qualified {@link IEdgeTarget | target}, and optional confidence / provenance / world-truth validity. Replaces bare string references (e.g. PersonAIlity's `IMtmRef` becomes an `IEdge` with `type: LinkType('mtm-ref')`).\n *\n * @public\n */\n",
|
|
3820
4048
|
"excerptTokens": [
|
|
3821
4049
|
{
|
|
3822
4050
|
"kind": "Content",
|
|
@@ -3913,7 +4141,7 @@
|
|
|
3913
4141
|
{
|
|
3914
4142
|
"kind": "PropertySignature",
|
|
3915
4143
|
"canonicalReference": "@fgv/ts-agent-memory!IEdge#target:member",
|
|
3916
|
-
"docComment": "/**\n * The linked-to record.\n */\n",
|
|
4144
|
+
"docComment": "/**\n * The scope-qualified address of the linked-to record.\n */\n",
|
|
3917
4145
|
"excerptTokens": [
|
|
3918
4146
|
{
|
|
3919
4147
|
"kind": "Content",
|
|
@@ -3921,8 +4149,8 @@
|
|
|
3921
4149
|
},
|
|
3922
4150
|
{
|
|
3923
4151
|
"kind": "Reference",
|
|
3924
|
-
"text": "
|
|
3925
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
4152
|
+
"text": "IEdgeTarget",
|
|
4153
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
3926
4154
|
},
|
|
3927
4155
|
{
|
|
3928
4156
|
"kind": "Content",
|
|
@@ -3998,23 +4226,23 @@
|
|
|
3998
4226
|
},
|
|
3999
4227
|
{
|
|
4000
4228
|
"kind": "Interface",
|
|
4001
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
4002
|
-
"docComment": "/**\n *
|
|
4229
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface",
|
|
4230
|
+
"docComment": "/**\n * The physical address of a linked-to record: the `(scope, id)` pair that uniquely identifies it. Both components are required because a bare {@link MemoryId} is NOT unique across scopes — per-scope codecs (e.g. the medium-term codec's `turn-<n>` stems) legally mint the same stem under different scopes, so an edge that carried only the id would be ambiguous. `(scope, id)` matches the store's `getById(scope, id)` addressing and the index's composite primary key.\n *\n * @public\n */\n",
|
|
4003
4231
|
"excerptTokens": [
|
|
4004
4232
|
{
|
|
4005
4233
|
"kind": "Content",
|
|
4006
|
-
"text": "export interface
|
|
4234
|
+
"text": "export interface IEdgeTarget "
|
|
4007
4235
|
}
|
|
4008
4236
|
],
|
|
4009
|
-
"fileUrlPath": "src/packlets/
|
|
4237
|
+
"fileUrlPath": "src/packlets/types/envelope.ts",
|
|
4010
4238
|
"releaseTag": "Public",
|
|
4011
|
-
"name": "
|
|
4239
|
+
"name": "IEdgeTarget",
|
|
4012
4240
|
"preserveMemberOrder": false,
|
|
4013
4241
|
"members": [
|
|
4014
4242
|
{
|
|
4015
4243
|
"kind": "PropertySignature",
|
|
4016
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
4017
|
-
"docComment": "/**\n * The
|
|
4244
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget#id:member",
|
|
4245
|
+
"docComment": "/**\n * The target record's stable file-stem id (unique WITHIN {@link IEdgeTarget.scope}).\n */\n",
|
|
4018
4246
|
"excerptTokens": [
|
|
4019
4247
|
{
|
|
4020
4248
|
"kind": "Content",
|
|
@@ -4039,6 +4267,52 @@
|
|
|
4039
4267
|
"endIndex": 2
|
|
4040
4268
|
}
|
|
4041
4269
|
},
|
|
4270
|
+
{
|
|
4271
|
+
"kind": "PropertySignature",
|
|
4272
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget#scope:member",
|
|
4273
|
+
"docComment": "/**\n * The scope the target record lives under.\n */\n",
|
|
4274
|
+
"excerptTokens": [
|
|
4275
|
+
{
|
|
4276
|
+
"kind": "Content",
|
|
4277
|
+
"text": "readonly scope: "
|
|
4278
|
+
},
|
|
4279
|
+
{
|
|
4280
|
+
"kind": "Reference",
|
|
4281
|
+
"text": "MemoryScopeKey",
|
|
4282
|
+
"canonicalReference": "@fgv/ts-agent-memory!MemoryScopeKey:type"
|
|
4283
|
+
},
|
|
4284
|
+
{
|
|
4285
|
+
"kind": "Content",
|
|
4286
|
+
"text": ";"
|
|
4287
|
+
}
|
|
4288
|
+
],
|
|
4289
|
+
"isReadonly": true,
|
|
4290
|
+
"isOptional": false,
|
|
4291
|
+
"releaseTag": "Public",
|
|
4292
|
+
"name": "scope",
|
|
4293
|
+
"propertyTypeTokenRange": {
|
|
4294
|
+
"startIndex": 1,
|
|
4295
|
+
"endIndex": 2
|
|
4296
|
+
}
|
|
4297
|
+
}
|
|
4298
|
+
],
|
|
4299
|
+
"extendsTokenRanges": []
|
|
4300
|
+
},
|
|
4301
|
+
{
|
|
4302
|
+
"kind": "Interface",
|
|
4303
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEntityResolutionCandidate:interface",
|
|
4304
|
+
"docComment": "/**\n * A near-duplicate candidate surfaced to the {@link IEntityResolver} by stage-4 layer-2 similarity search: an existing record whose embedding is within the similarity threshold of the incoming candidate.\n *\n * @public\n */\n",
|
|
4305
|
+
"excerptTokens": [
|
|
4306
|
+
{
|
|
4307
|
+
"kind": "Content",
|
|
4308
|
+
"text": "export interface IEntityResolutionCandidate "
|
|
4309
|
+
}
|
|
4310
|
+
],
|
|
4311
|
+
"fileUrlPath": "src/packlets/ingest/model.ts",
|
|
4312
|
+
"releaseTag": "Public",
|
|
4313
|
+
"name": "IEntityResolutionCandidate",
|
|
4314
|
+
"preserveMemberOrder": false,
|
|
4315
|
+
"members": [
|
|
4042
4316
|
{
|
|
4043
4317
|
"kind": "PropertySignature",
|
|
4044
4318
|
"canonicalReference": "@fgv/ts-agent-memory!IEntityResolutionCandidate#record:member",
|
|
@@ -4097,6 +4371,34 @@
|
|
|
4097
4371
|
"startIndex": 1,
|
|
4098
4372
|
"endIndex": 2
|
|
4099
4373
|
}
|
|
4374
|
+
},
|
|
4375
|
+
{
|
|
4376
|
+
"kind": "PropertySignature",
|
|
4377
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEntityResolutionCandidate#target:member",
|
|
4378
|
+
"docComment": "/**\n * The existing record's scope-qualified `(scope, id)` address. Scope-qualified (not a bare {@link MemoryId}) because per-scope codecs legally mint the same stem under different scopes — the {@link ResolutionVerdict} target the resolver returns must round-trip this exact address so the write binds the intended record.\n */\n",
|
|
4379
|
+
"excerptTokens": [
|
|
4380
|
+
{
|
|
4381
|
+
"kind": "Content",
|
|
4382
|
+
"text": "readonly target: "
|
|
4383
|
+
},
|
|
4384
|
+
{
|
|
4385
|
+
"kind": "Reference",
|
|
4386
|
+
"text": "IEdgeTarget",
|
|
4387
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
4388
|
+
},
|
|
4389
|
+
{
|
|
4390
|
+
"kind": "Content",
|
|
4391
|
+
"text": ";"
|
|
4392
|
+
}
|
|
4393
|
+
],
|
|
4394
|
+
"isReadonly": true,
|
|
4395
|
+
"isOptional": false,
|
|
4396
|
+
"releaseTag": "Public",
|
|
4397
|
+
"name": "target",
|
|
4398
|
+
"propertyTypeTokenRange": {
|
|
4399
|
+
"startIndex": 1,
|
|
4400
|
+
"endIndex": 2
|
|
4401
|
+
}
|
|
4100
4402
|
}
|
|
4101
4403
|
],
|
|
4102
4404
|
"extendsTokenRanges": []
|
|
@@ -4548,6 +4850,56 @@
|
|
|
4548
4850
|
"endIndex": 5
|
|
4549
4851
|
}
|
|
4550
4852
|
},
|
|
4853
|
+
{
|
|
4854
|
+
"kind": "PropertySignature",
|
|
4855
|
+
"canonicalReference": "@fgv/ts-agent-memory!IFileTreeMemoryStoreCreateParams#rankProjectors:member",
|
|
4856
|
+
"docComment": "/**\n * Optional per-kind host projector map. When a kind has an entry, the store runs the projector on the fully-resolved (post-merge) record on every put AND every update — in the same pass that recomputes `contentHash` — and stamps the numeric result into {@link IMemoryEnvelope.rank}, which the index's rank view and `orderBy: 'rank'` retrieval sort by (descending, absent last). Absent for a kind → that kind's records carry no `rank`. Purely additive and zero-overhead when unwired: an absent map leaves every write byte-identical. The projector is a host callback — a throw is logged at `warn` and the record is stamped with no `rank`, never failing the write (mirrors the store's other guard-host-callbacks conventions).\n */\n",
|
|
4857
|
+
"excerptTokens": [
|
|
4858
|
+
{
|
|
4859
|
+
"kind": "Content",
|
|
4860
|
+
"text": "readonly rankProjectors?: "
|
|
4861
|
+
},
|
|
4862
|
+
{
|
|
4863
|
+
"kind": "Reference",
|
|
4864
|
+
"text": "ReadonlyMap",
|
|
4865
|
+
"canonicalReference": "!ReadonlyMap:interface"
|
|
4866
|
+
},
|
|
4867
|
+
{
|
|
4868
|
+
"kind": "Content",
|
|
4869
|
+
"text": "<"
|
|
4870
|
+
},
|
|
4871
|
+
{
|
|
4872
|
+
"kind": "Reference",
|
|
4873
|
+
"text": "Kind",
|
|
4874
|
+
"canonicalReference": "@fgv/ts-agent-memory!Kind:type"
|
|
4875
|
+
},
|
|
4876
|
+
{
|
|
4877
|
+
"kind": "Content",
|
|
4878
|
+
"text": ", "
|
|
4879
|
+
},
|
|
4880
|
+
{
|
|
4881
|
+
"kind": "Reference",
|
|
4882
|
+
"text": "RankProjector",
|
|
4883
|
+
"canonicalReference": "@fgv/ts-agent-memory!RankProjector:type"
|
|
4884
|
+
},
|
|
4885
|
+
{
|
|
4886
|
+
"kind": "Content",
|
|
4887
|
+
"text": ">"
|
|
4888
|
+
},
|
|
4889
|
+
{
|
|
4890
|
+
"kind": "Content",
|
|
4891
|
+
"text": ";"
|
|
4892
|
+
}
|
|
4893
|
+
],
|
|
4894
|
+
"isReadonly": true,
|
|
4895
|
+
"isOptional": true,
|
|
4896
|
+
"releaseTag": "Public",
|
|
4897
|
+
"name": "rankProjectors",
|
|
4898
|
+
"propertyTypeTokenRange": {
|
|
4899
|
+
"startIndex": 1,
|
|
4900
|
+
"endIndex": 7
|
|
4901
|
+
}
|
|
4902
|
+
},
|
|
4551
4903
|
{
|
|
4552
4904
|
"kind": "PropertySignature",
|
|
4553
4905
|
"canonicalReference": "@fgv/ts-agent-memory!IFileTreeMemoryStoreCreateParams#registry:member",
|
|
@@ -5463,7 +5815,7 @@
|
|
|
5463
5815
|
{
|
|
5464
5816
|
"kind": "PropertySignature",
|
|
5465
5817
|
"canonicalReference": "@fgv/ts-agent-memory!IIngestItem#sourceId:member",
|
|
5466
|
-
"docComment": "/**\n * Optional back-link to the memory record this item was derived from (e.g. the MTM turn an extracted fact came from). When present, fgv stamps it as {@link IProvenance.derivedFrom | provenance.derivedFrom} on every record ingested from this item (stage 6) — the cross-kind provenance spine.\n */\n",
|
|
5818
|
+
"docComment": "/**\n * Optional scope-qualified back-link to the memory record this item was derived from (e.g. the MTM turn an extracted fact came from). When present, fgv stamps it as {@link IProvenance.derivedFrom | provenance.derivedFrom} on every record ingested from this item (stage 6) — the cross-kind provenance spine. A scope-qualified {@link IEdgeTarget} (not a bare {@link MemoryId}) because per-scope codecs legally reuse a stem across scopes, so a bare id would be ambiguous.\n */\n",
|
|
5467
5819
|
"excerptTokens": [
|
|
5468
5820
|
{
|
|
5469
5821
|
"kind": "Content",
|
|
@@ -5471,8 +5823,8 @@
|
|
|
5471
5823
|
},
|
|
5472
5824
|
{
|
|
5473
5825
|
"kind": "Reference",
|
|
5474
|
-
"text": "
|
|
5475
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
5826
|
+
"text": "IEdgeTarget",
|
|
5827
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
5476
5828
|
},
|
|
5477
5829
|
{
|
|
5478
5830
|
"kind": "Content",
|
|
@@ -6149,6 +6501,33 @@
|
|
|
6149
6501
|
"endIndex": 2
|
|
6150
6502
|
}
|
|
6151
6503
|
},
|
|
6504
|
+
{
|
|
6505
|
+
"kind": "PropertySignature",
|
|
6506
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryEnvelope#rank:member",
|
|
6507
|
+
"docComment": "/**\n * Store-computed host-defined ordering value, produced by the kind's {@link RankProjector} on every put/update and stamped into the envelope in the same pass that recomputes {@link IMemoryEnvelope.contentHash | contentHash}. Absent when the kind has no registered projector (or the projector threw on this record). Ordered retrieval (`orderBy: 'rank'`) and the index's rank view sort by this value descending, placing records with an absent `rank` last.\n */\n",
|
|
6508
|
+
"excerptTokens": [
|
|
6509
|
+
{
|
|
6510
|
+
"kind": "Content",
|
|
6511
|
+
"text": "readonly rank?: "
|
|
6512
|
+
},
|
|
6513
|
+
{
|
|
6514
|
+
"kind": "Content",
|
|
6515
|
+
"text": "number"
|
|
6516
|
+
},
|
|
6517
|
+
{
|
|
6518
|
+
"kind": "Content",
|
|
6519
|
+
"text": ";"
|
|
6520
|
+
}
|
|
6521
|
+
],
|
|
6522
|
+
"isReadonly": true,
|
|
6523
|
+
"isOptional": true,
|
|
6524
|
+
"releaseTag": "Public",
|
|
6525
|
+
"name": "rank",
|
|
6526
|
+
"propertyTypeTokenRange": {
|
|
6527
|
+
"startIndex": 1,
|
|
6528
|
+
"endIndex": 2
|
|
6529
|
+
}
|
|
6530
|
+
},
|
|
6152
6531
|
{
|
|
6153
6532
|
"kind": "PropertySignature",
|
|
6154
6533
|
"canonicalReference": "@fgv/ts-agent-memory!IMemoryEnvelope#seq:member",
|
|
@@ -6365,7 +6744,7 @@
|
|
|
6365
6744
|
{
|
|
6366
6745
|
"kind": "MethodSignature",
|
|
6367
6746
|
"canonicalReference": "@fgv/ts-agent-memory!IMemoryIndex#backlinks:member(1)",
|
|
6368
|
-
"docComment": "/**\n * The
|
|
6747
|
+
"docComment": "/**\n * The scope-qualified sources of records whose `links` point AT `target` (inbound edges), keyed on the target's `(scope, id)` address. The seed map for B2 link-traversal; results are {@link IEdgeTarget}s so a caller can feed them straight back in as further traversal seeds.\n */\n",
|
|
6369
6748
|
"excerptTokens": [
|
|
6370
6749
|
{
|
|
6371
6750
|
"kind": "Content",
|
|
@@ -6373,8 +6752,8 @@
|
|
|
6373
6752
|
},
|
|
6374
6753
|
{
|
|
6375
6754
|
"kind": "Reference",
|
|
6376
|
-
"text": "
|
|
6377
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
6755
|
+
"text": "IEdgeTarget",
|
|
6756
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
6378
6757
|
},
|
|
6379
6758
|
{
|
|
6380
6759
|
"kind": "Content",
|
|
@@ -6391,8 +6770,8 @@
|
|
|
6391
6770
|
},
|
|
6392
6771
|
{
|
|
6393
6772
|
"kind": "Reference",
|
|
6394
|
-
"text": "
|
|
6395
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
6773
|
+
"text": "IEdgeTarget",
|
|
6774
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
6396
6775
|
},
|
|
6397
6776
|
{
|
|
6398
6777
|
"kind": "Content",
|
|
@@ -6482,6 +6861,48 @@
|
|
|
6482
6861
|
],
|
|
6483
6862
|
"name": "byKind"
|
|
6484
6863
|
},
|
|
6864
|
+
{
|
|
6865
|
+
"kind": "MethodSignature",
|
|
6866
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryIndex#byRank:member(1)",
|
|
6867
|
+
"docComment": "/**\n * All records ordered by store-computed {@link IMemoryEnvelope.rank} descending, with recency (most-recently-updated, then `seq`) as a tiebreak. Records with an absent `rank` sort LAST (after every ranked record), then by recency among themselves. Serves a bounded top-M ({@link IMemoryEnvelope.rank}-ordered) page from the in-memory index with no full-vault (filesystem) scan.\n */\n",
|
|
6868
|
+
"excerptTokens": [
|
|
6869
|
+
{
|
|
6870
|
+
"kind": "Content",
|
|
6871
|
+
"text": "byRank(): "
|
|
6872
|
+
},
|
|
6873
|
+
{
|
|
6874
|
+
"kind": "Reference",
|
|
6875
|
+
"text": "ReadonlyArray",
|
|
6876
|
+
"canonicalReference": "!ReadonlyArray:interface"
|
|
6877
|
+
},
|
|
6878
|
+
{
|
|
6879
|
+
"kind": "Content",
|
|
6880
|
+
"text": "<"
|
|
6881
|
+
},
|
|
6882
|
+
{
|
|
6883
|
+
"kind": "Reference",
|
|
6884
|
+
"text": "IMemoryRecord",
|
|
6885
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecord:interface"
|
|
6886
|
+
},
|
|
6887
|
+
{
|
|
6888
|
+
"kind": "Content",
|
|
6889
|
+
"text": "<unknown>>"
|
|
6890
|
+
},
|
|
6891
|
+
{
|
|
6892
|
+
"kind": "Content",
|
|
6893
|
+
"text": ";"
|
|
6894
|
+
}
|
|
6895
|
+
],
|
|
6896
|
+
"isOptional": false,
|
|
6897
|
+
"returnTypeTokenRange": {
|
|
6898
|
+
"startIndex": 1,
|
|
6899
|
+
"endIndex": 5
|
|
6900
|
+
},
|
|
6901
|
+
"releaseTag": "Public",
|
|
6902
|
+
"overloadIndex": 1,
|
|
6903
|
+
"parameters": [],
|
|
6904
|
+
"name": "byRank"
|
|
6905
|
+
},
|
|
6485
6906
|
{
|
|
6486
6907
|
"kind": "MethodSignature",
|
|
6487
6908
|
"canonicalReference": "@fgv/ts-agent-memory!IMemoryIndex#byRecency:member(1)",
|
|
@@ -8096,11 +8517,102 @@
|
|
|
8096
8517
|
"excerptTokens": [
|
|
8097
8518
|
{
|
|
8098
8519
|
"kind": "Content",
|
|
8099
|
-
"text": "readonly asOf?: "
|
|
8520
|
+
"text": "readonly asOf?: "
|
|
8521
|
+
},
|
|
8522
|
+
{
|
|
8523
|
+
"kind": "Content",
|
|
8524
|
+
"text": "number"
|
|
8525
|
+
},
|
|
8526
|
+
{
|
|
8527
|
+
"kind": "Content",
|
|
8528
|
+
"text": ";"
|
|
8529
|
+
}
|
|
8530
|
+
],
|
|
8531
|
+
"isReadonly": true,
|
|
8532
|
+
"isOptional": true,
|
|
8533
|
+
"releaseTag": "Public",
|
|
8534
|
+
"name": "asOf",
|
|
8535
|
+
"propertyTypeTokenRange": {
|
|
8536
|
+
"startIndex": 1,
|
|
8537
|
+
"endIndex": 2
|
|
8538
|
+
}
|
|
8539
|
+
},
|
|
8540
|
+
{
|
|
8541
|
+
"kind": "PropertySignature",
|
|
8542
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#filter:member",
|
|
8543
|
+
"docComment": "/**\n * Arbitrary predicate applied after the scope / kind / tag pre-filter.\n */\n",
|
|
8544
|
+
"excerptTokens": [
|
|
8545
|
+
{
|
|
8546
|
+
"kind": "Content",
|
|
8547
|
+
"text": "readonly filter?: "
|
|
8548
|
+
},
|
|
8549
|
+
{
|
|
8550
|
+
"kind": "Content",
|
|
8551
|
+
"text": "(record: "
|
|
8552
|
+
},
|
|
8553
|
+
{
|
|
8554
|
+
"kind": "Reference",
|
|
8555
|
+
"text": "IMemoryRecord",
|
|
8556
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecord:interface"
|
|
8557
|
+
},
|
|
8558
|
+
{
|
|
8559
|
+
"kind": "Content",
|
|
8560
|
+
"text": "<unknown>) => boolean"
|
|
8561
|
+
},
|
|
8562
|
+
{
|
|
8563
|
+
"kind": "Content",
|
|
8564
|
+
"text": ";"
|
|
8565
|
+
}
|
|
8566
|
+
],
|
|
8567
|
+
"isReadonly": true,
|
|
8568
|
+
"isOptional": true,
|
|
8569
|
+
"releaseTag": "Public",
|
|
8570
|
+
"name": "filter",
|
|
8571
|
+
"propertyTypeTokenRange": {
|
|
8572
|
+
"startIndex": 1,
|
|
8573
|
+
"endIndex": 4
|
|
8574
|
+
}
|
|
8575
|
+
},
|
|
8576
|
+
{
|
|
8577
|
+
"kind": "PropertySignature",
|
|
8578
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#hops:member",
|
|
8579
|
+
"docComment": "/**\n * BFS hop count for link traversal. Default: 1.\n */\n",
|
|
8580
|
+
"excerptTokens": [
|
|
8581
|
+
{
|
|
8582
|
+
"kind": "Content",
|
|
8583
|
+
"text": "readonly hops?: "
|
|
8584
|
+
},
|
|
8585
|
+
{
|
|
8586
|
+
"kind": "Content",
|
|
8587
|
+
"text": "number"
|
|
8588
|
+
},
|
|
8589
|
+
{
|
|
8590
|
+
"kind": "Content",
|
|
8591
|
+
"text": ";"
|
|
8592
|
+
}
|
|
8593
|
+
],
|
|
8594
|
+
"isReadonly": true,
|
|
8595
|
+
"isOptional": true,
|
|
8596
|
+
"releaseTag": "Public",
|
|
8597
|
+
"name": "hops",
|
|
8598
|
+
"propertyTypeTokenRange": {
|
|
8599
|
+
"startIndex": 1,
|
|
8600
|
+
"endIndex": 2
|
|
8601
|
+
}
|
|
8602
|
+
},
|
|
8603
|
+
{
|
|
8604
|
+
"kind": "PropertySignature",
|
|
8605
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#kind:member",
|
|
8606
|
+
"docComment": "/**\n * Restrict to records of this kind — the single-kind shorthand for {@link IMemoryQuery.kinds | kinds}. When both are set they compose as AND (the record's kind must satisfy both), so `kind` must itself be a member of `kinds` for anything to match.\n */\n",
|
|
8607
|
+
"excerptTokens": [
|
|
8608
|
+
{
|
|
8609
|
+
"kind": "Content",
|
|
8610
|
+
"text": "readonly kind?: "
|
|
8100
8611
|
},
|
|
8101
8612
|
{
|
|
8102
|
-
"kind": "
|
|
8103
|
-
"text": "
|
|
8613
|
+
"kind": "Reference",
|
|
8614
|
+
"text": "Kind",
|
|
8615
|
+
"canonicalReference": "@fgv/ts-agent-memory!Kind:type"
|
|
8104
8616
|
},
|
|
8105
8617
|
{
|
|
8106
8618
|
"kind": "Content",
|
|
@@ -8110,7 +8622,7 @@
|
|
|
8110
8622
|
"isReadonly": true,
|
|
8111
8623
|
"isOptional": true,
|
|
8112
8624
|
"releaseTag": "Public",
|
|
8113
|
-
"name": "
|
|
8625
|
+
"name": "kind",
|
|
8114
8626
|
"propertyTypeTokenRange": {
|
|
8115
8627
|
"startIndex": 1,
|
|
8116
8628
|
"endIndex": 2
|
|
@@ -8118,25 +8630,30 @@
|
|
|
8118
8630
|
},
|
|
8119
8631
|
{
|
|
8120
8632
|
"kind": "PropertySignature",
|
|
8121
|
-
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#
|
|
8122
|
-
"docComment": "/**\n *
|
|
8633
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#kinds:member",
|
|
8634
|
+
"docComment": "/**\n * Restrict to records in ANY of these kinds — the general (multi-kind) form of {@link IMemoryQuery.kind | kind}. Absent → no kind-set constraint (today's behavior). An explicit empty array `[]` matches NOTHING (mirroring the non-positive-`limit` \"explicit empty\" convention), never \"match all\".\n */\n",
|
|
8123
8635
|
"excerptTokens": [
|
|
8124
8636
|
{
|
|
8125
8637
|
"kind": "Content",
|
|
8126
|
-
"text": "readonly
|
|
8638
|
+
"text": "readonly kinds?: "
|
|
8639
|
+
},
|
|
8640
|
+
{
|
|
8641
|
+
"kind": "Reference",
|
|
8642
|
+
"text": "ReadonlyArray",
|
|
8643
|
+
"canonicalReference": "!ReadonlyArray:interface"
|
|
8127
8644
|
},
|
|
8128
8645
|
{
|
|
8129
8646
|
"kind": "Content",
|
|
8130
|
-
"text": "
|
|
8647
|
+
"text": "<"
|
|
8131
8648
|
},
|
|
8132
8649
|
{
|
|
8133
8650
|
"kind": "Reference",
|
|
8134
|
-
"text": "
|
|
8135
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
8651
|
+
"text": "Kind",
|
|
8652
|
+
"canonicalReference": "@fgv/ts-agent-memory!Kind:type"
|
|
8136
8653
|
},
|
|
8137
8654
|
{
|
|
8138
8655
|
"kind": "Content",
|
|
8139
|
-
"text": "
|
|
8656
|
+
"text": ">"
|
|
8140
8657
|
},
|
|
8141
8658
|
{
|
|
8142
8659
|
"kind": "Content",
|
|
@@ -8146,20 +8663,20 @@
|
|
|
8146
8663
|
"isReadonly": true,
|
|
8147
8664
|
"isOptional": true,
|
|
8148
8665
|
"releaseTag": "Public",
|
|
8149
|
-
"name": "
|
|
8666
|
+
"name": "kinds",
|
|
8150
8667
|
"propertyTypeTokenRange": {
|
|
8151
8668
|
"startIndex": 1,
|
|
8152
|
-
"endIndex":
|
|
8669
|
+
"endIndex": 5
|
|
8153
8670
|
}
|
|
8154
8671
|
},
|
|
8155
8672
|
{
|
|
8156
8673
|
"kind": "PropertySignature",
|
|
8157
|
-
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#
|
|
8158
|
-
"docComment": "/**\n *
|
|
8674
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#limit:member",
|
|
8675
|
+
"docComment": "/**\n * Maximum records to return. Applied after all other filters.\n */\n",
|
|
8159
8676
|
"excerptTokens": [
|
|
8160
8677
|
{
|
|
8161
8678
|
"kind": "Content",
|
|
8162
|
-
"text": "readonly
|
|
8679
|
+
"text": "readonly limit?: "
|
|
8163
8680
|
},
|
|
8164
8681
|
{
|
|
8165
8682
|
"kind": "Content",
|
|
@@ -8173,7 +8690,7 @@
|
|
|
8173
8690
|
"isReadonly": true,
|
|
8174
8691
|
"isOptional": true,
|
|
8175
8692
|
"releaseTag": "Public",
|
|
8176
|
-
"name": "
|
|
8693
|
+
"name": "limit",
|
|
8177
8694
|
"propertyTypeTokenRange": {
|
|
8178
8695
|
"startIndex": 1,
|
|
8179
8696
|
"endIndex": 2
|
|
@@ -8181,17 +8698,17 @@
|
|
|
8181
8698
|
},
|
|
8182
8699
|
{
|
|
8183
8700
|
"kind": "PropertySignature",
|
|
8184
|
-
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#
|
|
8185
|
-
"docComment": "/**\n * Restrict to records
|
|
8701
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#linkedFrom:member",
|
|
8702
|
+
"docComment": "/**\n * Restrict to records linked FROM this scope-qualified seed (outbound).\n */\n",
|
|
8186
8703
|
"excerptTokens": [
|
|
8187
8704
|
{
|
|
8188
8705
|
"kind": "Content",
|
|
8189
|
-
"text": "readonly
|
|
8706
|
+
"text": "readonly linkedFrom?: "
|
|
8190
8707
|
},
|
|
8191
8708
|
{
|
|
8192
8709
|
"kind": "Reference",
|
|
8193
|
-
"text": "
|
|
8194
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
8710
|
+
"text": "IEdgeTarget",
|
|
8711
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
8195
8712
|
},
|
|
8196
8713
|
{
|
|
8197
8714
|
"kind": "Content",
|
|
@@ -8201,7 +8718,7 @@
|
|
|
8201
8718
|
"isReadonly": true,
|
|
8202
8719
|
"isOptional": true,
|
|
8203
8720
|
"releaseTag": "Public",
|
|
8204
|
-
"name": "
|
|
8721
|
+
"name": "linkedFrom",
|
|
8205
8722
|
"propertyTypeTokenRange": {
|
|
8206
8723
|
"startIndex": 1,
|
|
8207
8724
|
"endIndex": 2
|
|
@@ -8209,16 +8726,17 @@
|
|
|
8209
8726
|
},
|
|
8210
8727
|
{
|
|
8211
8728
|
"kind": "PropertySignature",
|
|
8212
|
-
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#
|
|
8213
|
-
"docComment": "/**\n *
|
|
8729
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#linkedTo:member",
|
|
8730
|
+
"docComment": "/**\n * Restrict to records linked TO this scope-qualified seed (inbound / backlinks).\n */\n",
|
|
8214
8731
|
"excerptTokens": [
|
|
8215
8732
|
{
|
|
8216
8733
|
"kind": "Content",
|
|
8217
|
-
"text": "readonly
|
|
8734
|
+
"text": "readonly linkedTo?: "
|
|
8218
8735
|
},
|
|
8219
8736
|
{
|
|
8220
|
-
"kind": "
|
|
8221
|
-
"text": "
|
|
8737
|
+
"kind": "Reference",
|
|
8738
|
+
"text": "IEdgeTarget",
|
|
8739
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
8222
8740
|
},
|
|
8223
8741
|
{
|
|
8224
8742
|
"kind": "Content",
|
|
@@ -8228,7 +8746,7 @@
|
|
|
8228
8746
|
"isReadonly": true,
|
|
8229
8747
|
"isOptional": true,
|
|
8230
8748
|
"releaseTag": "Public",
|
|
8231
|
-
"name": "
|
|
8749
|
+
"name": "linkedTo",
|
|
8232
8750
|
"propertyTypeTokenRange": {
|
|
8233
8751
|
"startIndex": 1,
|
|
8234
8752
|
"endIndex": 2
|
|
@@ -8236,17 +8754,16 @@
|
|
|
8236
8754
|
},
|
|
8237
8755
|
{
|
|
8238
8756
|
"kind": "PropertySignature",
|
|
8239
|
-
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#
|
|
8240
|
-
"docComment": "/**\n *
|
|
8757
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#offset:member",
|
|
8758
|
+
"docComment": "/**\n * Records to skip after ordering, before `limit` — so `{ offset, limit }` is a stable page window over the ordered result set. Default 0. A non-positive or absent offset is today's behavior (no skip); an offset past the end yields an empty page, never a throw.\n */\n",
|
|
8241
8759
|
"excerptTokens": [
|
|
8242
8760
|
{
|
|
8243
8761
|
"kind": "Content",
|
|
8244
|
-
"text": "readonly
|
|
8762
|
+
"text": "readonly offset?: "
|
|
8245
8763
|
},
|
|
8246
8764
|
{
|
|
8247
|
-
"kind": "
|
|
8248
|
-
"text": "
|
|
8249
|
-
"canonicalReference": "@fgv/ts-agent-memory!MemoryId:type"
|
|
8765
|
+
"kind": "Content",
|
|
8766
|
+
"text": "number"
|
|
8250
8767
|
},
|
|
8251
8768
|
{
|
|
8252
8769
|
"kind": "Content",
|
|
@@ -8256,7 +8773,7 @@
|
|
|
8256
8773
|
"isReadonly": true,
|
|
8257
8774
|
"isOptional": true,
|
|
8258
8775
|
"releaseTag": "Public",
|
|
8259
|
-
"name": "
|
|
8776
|
+
"name": "offset",
|
|
8260
8777
|
"propertyTypeTokenRange": {
|
|
8261
8778
|
"startIndex": 1,
|
|
8262
8779
|
"endIndex": 2
|
|
@@ -8264,17 +8781,16 @@
|
|
|
8264
8781
|
},
|
|
8265
8782
|
{
|
|
8266
8783
|
"kind": "PropertySignature",
|
|
8267
|
-
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#
|
|
8268
|
-
"docComment": "/**\n *
|
|
8784
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery#orderBy:member",
|
|
8785
|
+
"docComment": "/**\n * Ordering for the result set. `'recency'` (the default when absent — today's exact behavior) orders most-recently-updated first; `'rank'` orders by the store-computed {@link IMemoryEnvelope.rank} descending (records with an absent `rank` last), with recency as the tiebreak. Combined with `{ limit, offset }` this yields a bounded top-M rank-ordered page with no full-vault scan.\n *\n * @remarks\n *\n * `orderBy` governs the ordered non-semantic retrievers (recency / tag / structured-filter / link-traversal) and the {@link HybridRetriever}'s post-merge ordering. The {@link SemanticRetriever} is the sole exception: it preserves its native vector-similarity order regardless of `orderBy` — re-sorting semantic hits by `rank` would discard the similarity ranking that is the whole point of that path; a consumer that wants rank ordering uses a non-semantic query.\n */\n",
|
|
8269
8786
|
"excerptTokens": [
|
|
8270
8787
|
{
|
|
8271
8788
|
"kind": "Content",
|
|
8272
|
-
"text": "readonly
|
|
8789
|
+
"text": "readonly orderBy?: "
|
|
8273
8790
|
},
|
|
8274
8791
|
{
|
|
8275
|
-
"kind": "
|
|
8276
|
-
"text": "
|
|
8277
|
-
"canonicalReference": "@fgv/ts-agent-memory!MemoryId:type"
|
|
8792
|
+
"kind": "Content",
|
|
8793
|
+
"text": "'recency' | 'rank'"
|
|
8278
8794
|
},
|
|
8279
8795
|
{
|
|
8280
8796
|
"kind": "Content",
|
|
@@ -8284,7 +8800,7 @@
|
|
|
8284
8800
|
"isReadonly": true,
|
|
8285
8801
|
"isOptional": true,
|
|
8286
8802
|
"releaseTag": "Public",
|
|
8287
|
-
"name": "
|
|
8803
|
+
"name": "orderBy",
|
|
8288
8804
|
"propertyTypeTokenRange": {
|
|
8289
8805
|
"startIndex": 1,
|
|
8290
8806
|
"endIndex": 2
|
|
@@ -8500,7 +9016,7 @@
|
|
|
8500
9016
|
{
|
|
8501
9017
|
"kind": "Interface",
|
|
8502
9018
|
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecordSource:interface",
|
|
8503
|
-
"docComment": "/**\n * The minimal record-source surface {@link InMemoryCosineIndex.rebuild} reads to re-embed an entire vault. {@link
|
|
9019
|
+
"docComment": "/**\n * The minimal record-source surface {@link InMemoryCosineIndex.rebuild} reads to re-embed an entire vault. Each entry carries the record's scope-qualified address (see {@link IScopedMemoryRecord}) so the rebuild keys the vector index exactly as the incremental embed-on-write path does. A consumer backs this with the store's scoped index — the vector packlet does not import the store packlet (which depends on the vector packlet for {@link IVectorIndex}, so the reverse import would be a cycle).\n *\n * @public\n */\n",
|
|
8504
9020
|
"excerptTokens": [
|
|
8505
9021
|
{
|
|
8506
9022
|
"kind": "Content",
|
|
@@ -8515,7 +9031,7 @@
|
|
|
8515
9031
|
{
|
|
8516
9032
|
"kind": "MethodSignature",
|
|
8517
9033
|
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecordSource#list:member(1)",
|
|
8518
|
-
"docComment": "/**\n * List every record in the vault.\n */\n",
|
|
9034
|
+
"docComment": "/**\n * List every record in the vault, each paired with its scoped address.\n */\n",
|
|
8519
9035
|
"excerptTokens": [
|
|
8520
9036
|
{
|
|
8521
9037
|
"kind": "Content",
|
|
@@ -8550,12 +9066,12 @@
|
|
|
8550
9066
|
},
|
|
8551
9067
|
{
|
|
8552
9068
|
"kind": "Reference",
|
|
8553
|
-
"text": "
|
|
8554
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
9069
|
+
"text": "IScopedMemoryRecord",
|
|
9070
|
+
"canonicalReference": "@fgv/ts-agent-memory!IScopedMemoryRecord:interface"
|
|
8555
9071
|
},
|
|
8556
9072
|
{
|
|
8557
9073
|
"kind": "Content",
|
|
8558
|
-
"text": "
|
|
9074
|
+
"text": ">>>"
|
|
8559
9075
|
},
|
|
8560
9076
|
{
|
|
8561
9077
|
"kind": "Content",
|
|
@@ -8813,6 +9329,35 @@
|
|
|
8813
9329
|
"name": "IMemoryStore",
|
|
8814
9330
|
"preserveMemberOrder": false,
|
|
8815
9331
|
"members": [
|
|
9332
|
+
{
|
|
9333
|
+
"kind": "MethodSignature",
|
|
9334
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryStore#asRecordSource:member(1)",
|
|
9335
|
+
"docComment": "/**\n * Adapt this store to the {@link IMemoryRecordSource} seam so it can drive {@link IVectorIndex} rebuilds (e.g. `InMemoryCosineIndex.rebuild`). The returned source's `list()` delegates to {@link IMemoryStore.listScoped}. The store cannot implement {@link IMemoryRecordSource} directly because its `list(filter?)` returns bare records (the ergonomic query surface) while the seam's `list()` returns scope-qualified records.\n */\n",
|
|
9336
|
+
"excerptTokens": [
|
|
9337
|
+
{
|
|
9338
|
+
"kind": "Content",
|
|
9339
|
+
"text": "asRecordSource(): "
|
|
9340
|
+
},
|
|
9341
|
+
{
|
|
9342
|
+
"kind": "Reference",
|
|
9343
|
+
"text": "IMemoryRecordSource",
|
|
9344
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecordSource:interface"
|
|
9345
|
+
},
|
|
9346
|
+
{
|
|
9347
|
+
"kind": "Content",
|
|
9348
|
+
"text": ";"
|
|
9349
|
+
}
|
|
9350
|
+
],
|
|
9351
|
+
"isOptional": false,
|
|
9352
|
+
"returnTypeTokenRange": {
|
|
9353
|
+
"startIndex": 1,
|
|
9354
|
+
"endIndex": 2
|
|
9355
|
+
},
|
|
9356
|
+
"releaseTag": "Public",
|
|
9357
|
+
"overloadIndex": 1,
|
|
9358
|
+
"parameters": [],
|
|
9359
|
+
"name": "asRecordSource"
|
|
9360
|
+
},
|
|
8816
9361
|
{
|
|
8817
9362
|
"kind": "MethodSignature",
|
|
8818
9363
|
"canonicalReference": "@fgv/ts-agent-memory!IMemoryStore#delete:member(1)",
|
|
@@ -9149,6 +9694,66 @@
|
|
|
9149
9694
|
],
|
|
9150
9695
|
"name": "list"
|
|
9151
9696
|
},
|
|
9697
|
+
{
|
|
9698
|
+
"kind": "MethodSignature",
|
|
9699
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryStore#listScoped:member(1)",
|
|
9700
|
+
"docComment": "/**\n * List EVERY record in the vault, each paired with its scope-qualified `(scope, id)` address — the projection {@link IMemoryRecordSource} requires. Unlike {@link IMemoryStore.list | list}, it takes no filter (whole-vault) and returns {@link IScopedMemoryRecord}s so a re-index keys each entry on the same scoped target the incremental embed-on-write path uses. Two records that share a filename stem across scopes appear as distinct entries.\n */\n",
|
|
9701
|
+
"excerptTokens": [
|
|
9702
|
+
{
|
|
9703
|
+
"kind": "Content",
|
|
9704
|
+
"text": "listScoped(): "
|
|
9705
|
+
},
|
|
9706
|
+
{
|
|
9707
|
+
"kind": "Reference",
|
|
9708
|
+
"text": "Promise",
|
|
9709
|
+
"canonicalReference": "!Promise:interface"
|
|
9710
|
+
},
|
|
9711
|
+
{
|
|
9712
|
+
"kind": "Content",
|
|
9713
|
+
"text": "<"
|
|
9714
|
+
},
|
|
9715
|
+
{
|
|
9716
|
+
"kind": "Reference",
|
|
9717
|
+
"text": "Result",
|
|
9718
|
+
"canonicalReference": "@fgv/ts-utils!Result:type"
|
|
9719
|
+
},
|
|
9720
|
+
{
|
|
9721
|
+
"kind": "Content",
|
|
9722
|
+
"text": "<"
|
|
9723
|
+
},
|
|
9724
|
+
{
|
|
9725
|
+
"kind": "Reference",
|
|
9726
|
+
"text": "ReadonlyArray",
|
|
9727
|
+
"canonicalReference": "!ReadonlyArray:interface"
|
|
9728
|
+
},
|
|
9729
|
+
{
|
|
9730
|
+
"kind": "Content",
|
|
9731
|
+
"text": "<"
|
|
9732
|
+
},
|
|
9733
|
+
{
|
|
9734
|
+
"kind": "Reference",
|
|
9735
|
+
"text": "IScopedMemoryRecord",
|
|
9736
|
+
"canonicalReference": "@fgv/ts-agent-memory!IScopedMemoryRecord:interface"
|
|
9737
|
+
},
|
|
9738
|
+
{
|
|
9739
|
+
"kind": "Content",
|
|
9740
|
+
"text": ">>>"
|
|
9741
|
+
},
|
|
9742
|
+
{
|
|
9743
|
+
"kind": "Content",
|
|
9744
|
+
"text": ";"
|
|
9745
|
+
}
|
|
9746
|
+
],
|
|
9747
|
+
"isOptional": false,
|
|
9748
|
+
"returnTypeTokenRange": {
|
|
9749
|
+
"startIndex": 1,
|
|
9750
|
+
"endIndex": 9
|
|
9751
|
+
},
|
|
9752
|
+
"releaseTag": "Public",
|
|
9753
|
+
"overloadIndex": 1,
|
|
9754
|
+
"parameters": [],
|
|
9755
|
+
"name": "listScoped"
|
|
9756
|
+
},
|
|
9152
9757
|
{
|
|
9153
9758
|
"kind": "MethodSignature",
|
|
9154
9759
|
"canonicalReference": "@fgv/ts-agent-memory!IMemoryStore#put:member(1)",
|
|
@@ -9870,16 +10475,16 @@
|
|
|
9870
10475
|
{
|
|
9871
10476
|
"kind": "Method",
|
|
9872
10477
|
"canonicalReference": "@fgv/ts-agent-memory!InMemoryCosineIndex#add:member(1)",
|
|
9873
|
-
"docComment": "/**\n * Add (or replace) the embedding for `
|
|
10478
|
+
"docComment": "/**\n * Add (or replace) the embedding for the scope-qualified `target`. Returns the opaque {@link IMemoryEnvelope.embeddingRef | embeddingRef} the store stamps onto the envelope so a later read knows the record is embedded. Keying on the `(scope, id)` address (not a bare id) is load-bearing: two records that share a filename stem across scopes must not clobber each other's embedding.\n */\n",
|
|
9874
10479
|
"excerptTokens": [
|
|
9875
10480
|
{
|
|
9876
10481
|
"kind": "Content",
|
|
9877
|
-
"text": "add(
|
|
10482
|
+
"text": "add(target: "
|
|
9878
10483
|
},
|
|
9879
10484
|
{
|
|
9880
10485
|
"kind": "Reference",
|
|
9881
|
-
"text": "
|
|
9882
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
10486
|
+
"text": "IEdgeTarget",
|
|
10487
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
9883
10488
|
},
|
|
9884
10489
|
{
|
|
9885
10490
|
"kind": "Content",
|
|
@@ -9927,7 +10532,7 @@
|
|
|
9927
10532
|
"overloadIndex": 1,
|
|
9928
10533
|
"parameters": [
|
|
9929
10534
|
{
|
|
9930
|
-
"parameterName": "
|
|
10535
|
+
"parameterName": "target",
|
|
9931
10536
|
"parameterTypeTokenRange": {
|
|
9932
10537
|
"startIndex": 1,
|
|
9933
10538
|
"endIndex": 2
|
|
@@ -10092,7 +10697,7 @@
|
|
|
10092
10697
|
{
|
|
10093
10698
|
"kind": "Method",
|
|
10094
10699
|
"canonicalReference": "@fgv/ts-agent-memory!InMemoryCosineIndex#rebuild:member(1)",
|
|
10095
|
-
"docComment": "/**\n * Re-embed every record from `source` and rebuild the index from scratch. Clears the current contents (and the established dimension) first, so a re-embed with a different model is supported. Returns the number of vectors indexed.\n *\n * On any failure (list, embed, or add) the index is rolled back to empty rather than left in a partially-rebuilt state — a caller that retries a query after a failed rebuild sees a clean empty index, never a half-populated one.\n *\n * @param source - The record source to re-embed
|
|
10700
|
+
"docComment": "/**\n * Re-embed every record from `source` and rebuild the index from scratch. Clears the current contents (and the established dimension) first, so a re-embed with a different model is supported. Returns the number of vectors indexed.\n *\n * On any failure (list, embed, or add) the index is rolled back to empty rather than left in a partially-rebuilt state — a caller that retries a query after a failed rebuild sees a clean empty index, never a half-populated one.\n *\n * @param source - The scope-qualified record source to re-embed.\n *\n * @param embed - The embedder applied to each record.\n */\n",
|
|
10096
10701
|
"excerptTokens": [
|
|
10097
10702
|
{
|
|
10098
10703
|
"kind": "Content",
|
|
@@ -10172,16 +10777,16 @@
|
|
|
10172
10777
|
{
|
|
10173
10778
|
"kind": "Method",
|
|
10174
10779
|
"canonicalReference": "@fgv/ts-agent-memory!InMemoryCosineIndex#remove:member(1)",
|
|
10175
|
-
"docComment": "/**\n * Remove the embedding for `
|
|
10780
|
+
"docComment": "/**\n * Remove the embedding for the scope-qualified `target`. Returns the removed target. Idempotent — removing a target with no embedding still succeeds (returns the target).\n */\n",
|
|
10176
10781
|
"excerptTokens": [
|
|
10177
10782
|
{
|
|
10178
10783
|
"kind": "Content",
|
|
10179
|
-
"text": "remove(
|
|
10784
|
+
"text": "remove(target: "
|
|
10180
10785
|
},
|
|
10181
10786
|
{
|
|
10182
10787
|
"kind": "Reference",
|
|
10183
|
-
"text": "
|
|
10184
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
10788
|
+
"text": "IEdgeTarget",
|
|
10789
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
10185
10790
|
},
|
|
10186
10791
|
{
|
|
10187
10792
|
"kind": "Content",
|
|
@@ -10207,8 +10812,8 @@
|
|
|
10207
10812
|
},
|
|
10208
10813
|
{
|
|
10209
10814
|
"kind": "Reference",
|
|
10210
|
-
"text": "
|
|
10211
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
10815
|
+
"text": "IEdgeTarget",
|
|
10816
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
10212
10817
|
},
|
|
10213
10818
|
{
|
|
10214
10819
|
"kind": "Content",
|
|
@@ -10229,7 +10834,7 @@
|
|
|
10229
10834
|
"overloadIndex": 1,
|
|
10230
10835
|
"parameters": [
|
|
10231
10836
|
{
|
|
10232
|
-
"parameterName": "
|
|
10837
|
+
"parameterName": "target",
|
|
10233
10838
|
"parameterTypeTokenRange": {
|
|
10234
10839
|
"startIndex": 1,
|
|
10235
10840
|
"endIndex": 2
|
|
@@ -10395,7 +11000,7 @@
|
|
|
10395
11000
|
{
|
|
10396
11001
|
"kind": "PropertySignature",
|
|
10397
11002
|
"canonicalReference": "@fgv/ts-agent-memory!IProvenance#derivedFrom:member",
|
|
10398
|
-
"docComment": "/**\n *
|
|
11003
|
+
"docComment": "/**\n * Scope-qualified back-link to the source record. Enables the cross-kind provenance spine. A scope-qualified {@link IEdgeTarget} (not a bare {@link MemoryId}) because per-scope codecs (e.g. the MTM codec's `turn-<n>` stems) legally reuse a stem across scopes, so a bare id would be ambiguous — the same reason {@link IEdge.target} is scope-qualified.\n */\n",
|
|
10399
11004
|
"excerptTokens": [
|
|
10400
11005
|
{
|
|
10401
11006
|
"kind": "Content",
|
|
@@ -10403,8 +11008,8 @@
|
|
|
10403
11008
|
},
|
|
10404
11009
|
{
|
|
10405
11010
|
"kind": "Reference",
|
|
10406
|
-
"text": "
|
|
10407
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
11011
|
+
"text": "IEdgeTarget",
|
|
11012
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
10408
11013
|
},
|
|
10409
11014
|
{
|
|
10410
11015
|
"kind": "Content",
|
|
@@ -10524,7 +11129,7 @@
|
|
|
10524
11129
|
{
|
|
10525
11130
|
"kind": "PropertySignature",
|
|
10526
11131
|
"canonicalReference": "@fgv/ts-agent-memory!IRelationCandidate#id:member",
|
|
10527
|
-
"docComment": "/**\n * Its resolved reference
|
|
11132
|
+
"docComment": "/**\n * Its resolved scope-qualified reference (codec `(scope, idStem)` — the stable entity address).\n */\n",
|
|
10528
11133
|
"excerptTokens": [
|
|
10529
11134
|
{
|
|
10530
11135
|
"kind": "Content",
|
|
@@ -10532,8 +11137,8 @@
|
|
|
10532
11137
|
},
|
|
10533
11138
|
{
|
|
10534
11139
|
"kind": "Reference",
|
|
10535
|
-
"text": "
|
|
10536
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
11140
|
+
"text": "IEdgeTarget",
|
|
11141
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
10537
11142
|
},
|
|
10538
11143
|
{
|
|
10539
11144
|
"kind": "Content",
|
|
@@ -10735,6 +11340,84 @@
|
|
|
10735
11340
|
],
|
|
10736
11341
|
"extendsTokenRanges": []
|
|
10737
11342
|
},
|
|
11343
|
+
{
|
|
11344
|
+
"kind": "Interface",
|
|
11345
|
+
"canonicalReference": "@fgv/ts-agent-memory!IScopedMemoryRecord:interface",
|
|
11346
|
+
"docComment": "/**\n * A record paired with its scope-qualified {@link IEdgeTarget | address}, as yielded by {@link IMemoryRecordSource.list}. The address is required because {@link InMemoryCosineIndex.rebuild} keys each re-embedded entry on the scope-qualified target, not a bare {@link MemoryId} — two records that share a filename stem across scopes must not collide when the whole vault is re-indexed.\n *\n * @public\n */\n",
|
|
11347
|
+
"excerptTokens": [
|
|
11348
|
+
{
|
|
11349
|
+
"kind": "Content",
|
|
11350
|
+
"text": "export interface IScopedMemoryRecord "
|
|
11351
|
+
}
|
|
11352
|
+
],
|
|
11353
|
+
"fileUrlPath": "src/packlets/vector/vectorIndex.ts",
|
|
11354
|
+
"releaseTag": "Public",
|
|
11355
|
+
"name": "IScopedMemoryRecord",
|
|
11356
|
+
"preserveMemberOrder": false,
|
|
11357
|
+
"members": [
|
|
11358
|
+
{
|
|
11359
|
+
"kind": "PropertySignature",
|
|
11360
|
+
"canonicalReference": "@fgv/ts-agent-memory!IScopedMemoryRecord#record:member",
|
|
11361
|
+
"docComment": "/**\n * The record itself, passed to the embedder.\n */\n",
|
|
11362
|
+
"excerptTokens": [
|
|
11363
|
+
{
|
|
11364
|
+
"kind": "Content",
|
|
11365
|
+
"text": "readonly record: "
|
|
11366
|
+
},
|
|
11367
|
+
{
|
|
11368
|
+
"kind": "Reference",
|
|
11369
|
+
"text": "IMemoryRecord",
|
|
11370
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecord:interface"
|
|
11371
|
+
},
|
|
11372
|
+
{
|
|
11373
|
+
"kind": "Content",
|
|
11374
|
+
"text": "<unknown>"
|
|
11375
|
+
},
|
|
11376
|
+
{
|
|
11377
|
+
"kind": "Content",
|
|
11378
|
+
"text": ";"
|
|
11379
|
+
}
|
|
11380
|
+
],
|
|
11381
|
+
"isReadonly": true,
|
|
11382
|
+
"isOptional": false,
|
|
11383
|
+
"releaseTag": "Public",
|
|
11384
|
+
"name": "record",
|
|
11385
|
+
"propertyTypeTokenRange": {
|
|
11386
|
+
"startIndex": 1,
|
|
11387
|
+
"endIndex": 3
|
|
11388
|
+
}
|
|
11389
|
+
},
|
|
11390
|
+
{
|
|
11391
|
+
"kind": "PropertySignature",
|
|
11392
|
+
"canonicalReference": "@fgv/ts-agent-memory!IScopedMemoryRecord#target:member",
|
|
11393
|
+
"docComment": "/**\n * The record's scope-qualified `(scope, id)` address.\n */\n",
|
|
11394
|
+
"excerptTokens": [
|
|
11395
|
+
{
|
|
11396
|
+
"kind": "Content",
|
|
11397
|
+
"text": "readonly target: "
|
|
11398
|
+
},
|
|
11399
|
+
{
|
|
11400
|
+
"kind": "Reference",
|
|
11401
|
+
"text": "IEdgeTarget",
|
|
11402
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
11403
|
+
},
|
|
11404
|
+
{
|
|
11405
|
+
"kind": "Content",
|
|
11406
|
+
"text": ";"
|
|
11407
|
+
}
|
|
11408
|
+
],
|
|
11409
|
+
"isReadonly": true,
|
|
11410
|
+
"isOptional": false,
|
|
11411
|
+
"releaseTag": "Public",
|
|
11412
|
+
"name": "target",
|
|
11413
|
+
"propertyTypeTokenRange": {
|
|
11414
|
+
"startIndex": 1,
|
|
11415
|
+
"endIndex": 2
|
|
11416
|
+
}
|
|
11417
|
+
}
|
|
11418
|
+
],
|
|
11419
|
+
"extendsTokenRanges": []
|
|
11420
|
+
},
|
|
10738
11421
|
{
|
|
10739
11422
|
"kind": "Interface",
|
|
10740
11423
|
"canonicalReference": "@fgv/ts-agent-memory!ISemanticBackend:interface",
|
|
@@ -11443,16 +12126,16 @@
|
|
|
11443
12126
|
{
|
|
11444
12127
|
"kind": "MethodSignature",
|
|
11445
12128
|
"canonicalReference": "@fgv/ts-agent-memory!IVectorIndex#add:member(1)",
|
|
11446
|
-
"docComment": "/**\n * Add (or replace) the embedding for `
|
|
12129
|
+
"docComment": "/**\n * Add (or replace) the embedding for the scope-qualified `target`. Returns the opaque {@link IMemoryEnvelope.embeddingRef | embeddingRef} the store stamps onto the envelope so a later read knows the record is embedded. Keying on the `(scope, id)` address (not a bare id) is load-bearing: two records that share a filename stem across scopes must not clobber each other's embedding.\n */\n",
|
|
11447
12130
|
"excerptTokens": [
|
|
11448
12131
|
{
|
|
11449
12132
|
"kind": "Content",
|
|
11450
|
-
"text": "add(
|
|
12133
|
+
"text": "add(target: "
|
|
11451
12134
|
},
|
|
11452
12135
|
{
|
|
11453
12136
|
"kind": "Reference",
|
|
11454
|
-
"text": "
|
|
11455
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
12137
|
+
"text": "IEdgeTarget",
|
|
12138
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
11456
12139
|
},
|
|
11457
12140
|
{
|
|
11458
12141
|
"kind": "Content",
|
|
@@ -11499,7 +12182,7 @@
|
|
|
11499
12182
|
"overloadIndex": 1,
|
|
11500
12183
|
"parameters": [
|
|
11501
12184
|
{
|
|
11502
|
-
"parameterName": "
|
|
12185
|
+
"parameterName": "target",
|
|
11503
12186
|
"parameterTypeTokenRange": {
|
|
11504
12187
|
"startIndex": 1,
|
|
11505
12188
|
"endIndex": 2
|
|
@@ -11614,16 +12297,16 @@
|
|
|
11614
12297
|
{
|
|
11615
12298
|
"kind": "MethodSignature",
|
|
11616
12299
|
"canonicalReference": "@fgv/ts-agent-memory!IVectorIndex#remove:member(1)",
|
|
11617
|
-
"docComment": "/**\n * Remove the embedding for `
|
|
12300
|
+
"docComment": "/**\n * Remove the embedding for the scope-qualified `target`. Returns the removed target. Idempotent — removing a target with no embedding still succeeds (returns the target).\n */\n",
|
|
11618
12301
|
"excerptTokens": [
|
|
11619
12302
|
{
|
|
11620
12303
|
"kind": "Content",
|
|
11621
|
-
"text": "remove(
|
|
12304
|
+
"text": "remove(target: "
|
|
11622
12305
|
},
|
|
11623
12306
|
{
|
|
11624
12307
|
"kind": "Reference",
|
|
11625
|
-
"text": "
|
|
11626
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
12308
|
+
"text": "IEdgeTarget",
|
|
12309
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
11627
12310
|
},
|
|
11628
12311
|
{
|
|
11629
12312
|
"kind": "Content",
|
|
@@ -11649,8 +12332,8 @@
|
|
|
11649
12332
|
},
|
|
11650
12333
|
{
|
|
11651
12334
|
"kind": "Reference",
|
|
11652
|
-
"text": "
|
|
11653
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
12335
|
+
"text": "IEdgeTarget",
|
|
12336
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
11654
12337
|
},
|
|
11655
12338
|
{
|
|
11656
12339
|
"kind": "Content",
|
|
@@ -11670,7 +12353,7 @@
|
|
|
11670
12353
|
"overloadIndex": 1,
|
|
11671
12354
|
"parameters": [
|
|
11672
12355
|
{
|
|
11673
|
-
"parameterName": "
|
|
12356
|
+
"parameterName": "target",
|
|
11674
12357
|
"parameterTypeTokenRange": {
|
|
11675
12358
|
"startIndex": 1,
|
|
11676
12359
|
"endIndex": 2
|
|
@@ -11686,7 +12369,7 @@
|
|
|
11686
12369
|
{
|
|
11687
12370
|
"kind": "Interface",
|
|
11688
12371
|
"canonicalReference": "@fgv/ts-agent-memory!IVectorQueryHit:interface",
|
|
11689
|
-
"docComment": "/**\n * A single hit returned by {@link IVectorIndex.query}: the matched record
|
|
12372
|
+
"docComment": "/**\n * A single hit returned by {@link IVectorIndex.query}: the matched record's scope-qualified {@link IEdgeTarget | address} and the backend's similarity score (higher = more similar; the exact scale is backend-defined). Hits are returned in descending score order.\n *\n * @remarks\n *\n * The address is a `(scope, id)` pair, NOT a bare {@link MemoryId} — per-scope codecs (e.g. the medium-term codec's `turn-<n>` stems) legally mint the same stem under different scopes, so a bare id could not disambiguate two records that share a stem. The caller re-resolves the hit against the record index by the same scoped address.\n *\n * @public\n */\n",
|
|
11690
12373
|
"excerptTokens": [
|
|
11691
12374
|
{
|
|
11692
12375
|
"kind": "Content",
|
|
@@ -11700,17 +12383,16 @@
|
|
|
11700
12383
|
"members": [
|
|
11701
12384
|
{
|
|
11702
12385
|
"kind": "PropertySignature",
|
|
11703
|
-
"canonicalReference": "@fgv/ts-agent-memory!IVectorQueryHit#
|
|
11704
|
-
"docComment": "/**\n *
|
|
12386
|
+
"canonicalReference": "@fgv/ts-agent-memory!IVectorQueryHit#score:member",
|
|
12387
|
+
"docComment": "/**\n * Backend similarity score; higher is more similar.\n */\n",
|
|
11705
12388
|
"excerptTokens": [
|
|
11706
12389
|
{
|
|
11707
12390
|
"kind": "Content",
|
|
11708
|
-
"text": "readonly
|
|
12391
|
+
"text": "readonly score: "
|
|
11709
12392
|
},
|
|
11710
12393
|
{
|
|
11711
|
-
"kind": "
|
|
11712
|
-
"text": "
|
|
11713
|
-
"canonicalReference": "@fgv/ts-agent-memory!MemoryId:type"
|
|
12394
|
+
"kind": "Content",
|
|
12395
|
+
"text": "number"
|
|
11714
12396
|
},
|
|
11715
12397
|
{
|
|
11716
12398
|
"kind": "Content",
|
|
@@ -11720,7 +12402,7 @@
|
|
|
11720
12402
|
"isReadonly": true,
|
|
11721
12403
|
"isOptional": false,
|
|
11722
12404
|
"releaseTag": "Public",
|
|
11723
|
-
"name": "
|
|
12405
|
+
"name": "score",
|
|
11724
12406
|
"propertyTypeTokenRange": {
|
|
11725
12407
|
"startIndex": 1,
|
|
11726
12408
|
"endIndex": 2
|
|
@@ -11728,16 +12410,17 @@
|
|
|
11728
12410
|
},
|
|
11729
12411
|
{
|
|
11730
12412
|
"kind": "PropertySignature",
|
|
11731
|
-
"canonicalReference": "@fgv/ts-agent-memory!IVectorQueryHit#
|
|
11732
|
-
"docComment": "/**\n *
|
|
12413
|
+
"canonicalReference": "@fgv/ts-agent-memory!IVectorQueryHit#target:member",
|
|
12414
|
+
"docComment": "/**\n * The scope-qualified address of the matched record.\n */\n",
|
|
11733
12415
|
"excerptTokens": [
|
|
11734
12416
|
{
|
|
11735
12417
|
"kind": "Content",
|
|
11736
|
-
"text": "readonly
|
|
12418
|
+
"text": "readonly target: "
|
|
11737
12419
|
},
|
|
11738
12420
|
{
|
|
11739
|
-
"kind": "
|
|
11740
|
-
"text": "
|
|
12421
|
+
"kind": "Reference",
|
|
12422
|
+
"text": "IEdgeTarget",
|
|
12423
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
11741
12424
|
},
|
|
11742
12425
|
{
|
|
11743
12426
|
"kind": "Content",
|
|
@@ -11747,7 +12430,7 @@
|
|
|
11747
12430
|
"isReadonly": true,
|
|
11748
12431
|
"isOptional": false,
|
|
11749
12432
|
"releaseTag": "Public",
|
|
11750
|
-
"name": "
|
|
12433
|
+
"name": "target",
|
|
11751
12434
|
"propertyTypeTokenRange": {
|
|
11752
12435
|
"startIndex": 1,
|
|
11753
12436
|
"endIndex": 2
|
|
@@ -12713,7 +13396,7 @@
|
|
|
12713
13396
|
{
|
|
12714
13397
|
"kind": "Function",
|
|
12715
13398
|
"canonicalReference": "@fgv/ts-agent-memory!limitRecords:function(1)",
|
|
12716
|
-
"docComment": "/**\n *
|
|
13399
|
+
"docComment": "/**\n * Apply the `{ offset, limit }` page window to an ordered record set. Applied last, after ordering, so it always takes a stable window of the ordered result. `offset` is applied first (records to skip), then `limit` (top-N of the remainder).\n *\n * @remarks\n *\n * Both bounds are public query input and are guarded against non-positive values slipping into `slice`: - `offset` absent or non-positive → no skip (today's behavior). An offset past the end yields an empty page rather than a throw. - `limit` absent → no truncation; a non-positive `limit` means \"no records\" and returns an empty array.\n *\n * @public\n */\n",
|
|
12717
13400
|
"excerptTokens": [
|
|
12718
13401
|
{
|
|
12719
13402
|
"kind": "Content",
|
|
@@ -12745,6 +13428,14 @@
|
|
|
12745
13428
|
"kind": "Content",
|
|
12746
13429
|
"text": "number"
|
|
12747
13430
|
},
|
|
13431
|
+
{
|
|
13432
|
+
"kind": "Content",
|
|
13433
|
+
"text": ", offset?: "
|
|
13434
|
+
},
|
|
13435
|
+
{
|
|
13436
|
+
"kind": "Content",
|
|
13437
|
+
"text": "number"
|
|
13438
|
+
},
|
|
12748
13439
|
{
|
|
12749
13440
|
"kind": "Content",
|
|
12750
13441
|
"text": "): "
|
|
@@ -12774,8 +13465,8 @@
|
|
|
12774
13465
|
],
|
|
12775
13466
|
"fileUrlPath": "src/packlets/retrieve/retriever.ts",
|
|
12776
13467
|
"returnTypeTokenRange": {
|
|
12777
|
-
"startIndex":
|
|
12778
|
-
"endIndex":
|
|
13468
|
+
"startIndex": 10,
|
|
13469
|
+
"endIndex": 14
|
|
12779
13470
|
},
|
|
12780
13471
|
"releaseTag": "Public",
|
|
12781
13472
|
"overloadIndex": 1,
|
|
@@ -12795,6 +13486,14 @@
|
|
|
12795
13486
|
"endIndex": 7
|
|
12796
13487
|
},
|
|
12797
13488
|
"isOptional": true
|
|
13489
|
+
},
|
|
13490
|
+
{
|
|
13491
|
+
"parameterName": "offset",
|
|
13492
|
+
"parameterTypeTokenRange": {
|
|
13493
|
+
"startIndex": 8,
|
|
13494
|
+
"endIndex": 9
|
|
13495
|
+
},
|
|
13496
|
+
"isOptional": true
|
|
12798
13497
|
}
|
|
12799
13498
|
],
|
|
12800
13499
|
"name": "limitRecords"
|
|
@@ -12848,7 +13547,7 @@
|
|
|
12848
13547
|
{
|
|
12849
13548
|
"kind": "Class",
|
|
12850
13549
|
"canonicalReference": "@fgv/ts-agent-memory!LinkTraversalRetriever:class",
|
|
12851
|
-
"docComment": "/**\n * Breadth-first link-traversal retriever. From a
|
|
13550
|
+
"docComment": "/**\n * Breadth-first link-traversal retriever. From a scope-qualified {@link IEdgeTarget} seed it walks the link graph up to `query.hops` levels and returns the records reached (excluding the seed), recency-ordered and limited.\n *\n * @remarks\n *\n * - **Direction.** `linkedFrom` walks OUTBOUND edges (each record's `envelope.links[].target`); `linkedTo` walks INBOUND edges (the index's `backlinks`). Exactly one is the seed; `linkedFrom` wins if both are set. - **Scope-qualified nodes.** Every graph node is an {@link IEdgeTarget} `(scope, id)` pair, so following an edge to `turn-3` reaches ONLY the record in the edge's own scope — never a same-stem record in another scope. - **Bound + cycle safety.** Traversal is bounded by `hops` (default `1` — a single hop) and a visited-set guard. Nodes are canonicalized to their `(scope, id)` string via {@link edgeTargetKey}, so a `Set<string>` visited-set is the exact, collision-free cycle key — no structural hashing (e.g. `Crc32Normalizer`) is needed. A self-loop or any multi-hop cycle terminates because a revisited node is never re-expanded. - **Post-filter.** The scope / kind / tag / predicate axes of the query are applied to the reached records (the link axes are the traversal itself).\n *\n * @public\n */\n",
|
|
12852
13551
|
"excerptTokens": [
|
|
12853
13552
|
{
|
|
12854
13553
|
"kind": "Content",
|
|
@@ -13707,6 +14406,32 @@
|
|
|
13707
14406
|
}
|
|
13708
14407
|
]
|
|
13709
14408
|
},
|
|
14409
|
+
{
|
|
14410
|
+
"kind": "TypeAlias",
|
|
14411
|
+
"canonicalReference": "@fgv/ts-agent-memory!MemoryDetailTier:type",
|
|
14412
|
+
"docComment": "/**\n * The detail tier a `memory_search` / `memory_context` result is projected at. `'gist'` is the default (bounded) path; `'full'` is opt-in. Only meaningful when a host {@link ICreateMemoryToolsParams.projectItem | projectItem} is supplied — the built-in default projection returns the full body regardless.\n *\n * @public\n */\n",
|
|
14413
|
+
"excerptTokens": [
|
|
14414
|
+
{
|
|
14415
|
+
"kind": "Content",
|
|
14416
|
+
"text": "export type MemoryDetailTier = "
|
|
14417
|
+
},
|
|
14418
|
+
{
|
|
14419
|
+
"kind": "Content",
|
|
14420
|
+
"text": "'gist' | 'full'"
|
|
14421
|
+
},
|
|
14422
|
+
{
|
|
14423
|
+
"kind": "Content",
|
|
14424
|
+
"text": ";"
|
|
14425
|
+
}
|
|
14426
|
+
],
|
|
14427
|
+
"fileUrlPath": "src/packlets/tools/memoryTools.ts",
|
|
14428
|
+
"releaseTag": "Public",
|
|
14429
|
+
"name": "MemoryDetailTier",
|
|
14430
|
+
"typeTokenRange": {
|
|
14431
|
+
"startIndex": 1,
|
|
14432
|
+
"endIndex": 2
|
|
14433
|
+
}
|
|
14434
|
+
},
|
|
13710
14435
|
{
|
|
13711
14436
|
"kind": "TypeAlias",
|
|
13712
14437
|
"canonicalReference": "@fgv/ts-agent-memory!MemoryEmbedder:type",
|
|
@@ -13828,7 +14553,7 @@
|
|
|
13828
14553
|
{
|
|
13829
14554
|
"kind": "Method",
|
|
13830
14555
|
"canonicalReference": "@fgv/ts-agent-memory!MemoryIndex#backlinks:member(1)",
|
|
13831
|
-
"docComment": "/**\n * The
|
|
14556
|
+
"docComment": "/**\n * The scope-qualified sources of records whose `links` point AT `target` (inbound edges), keyed on the target's `(scope, id)` address. The seed map for B2 link-traversal; results are {@link IEdgeTarget}s so a caller can feed them straight back in as further traversal seeds.\n */\n",
|
|
13832
14557
|
"excerptTokens": [
|
|
13833
14558
|
{
|
|
13834
14559
|
"kind": "Content",
|
|
@@ -13836,8 +14561,8 @@
|
|
|
13836
14561
|
},
|
|
13837
14562
|
{
|
|
13838
14563
|
"kind": "Reference",
|
|
13839
|
-
"text": "
|
|
13840
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
14564
|
+
"text": "IEdgeTarget",
|
|
14565
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
13841
14566
|
},
|
|
13842
14567
|
{
|
|
13843
14568
|
"kind": "Content",
|
|
@@ -13854,8 +14579,8 @@
|
|
|
13854
14579
|
},
|
|
13855
14580
|
{
|
|
13856
14581
|
"kind": "Reference",
|
|
13857
|
-
"text": "
|
|
13858
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
14582
|
+
"text": "IEdgeTarget",
|
|
14583
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
13859
14584
|
},
|
|
13860
14585
|
{
|
|
13861
14586
|
"kind": "Content",
|
|
@@ -13951,6 +14676,51 @@
|
|
|
13951
14676
|
"isAbstract": false,
|
|
13952
14677
|
"name": "byKind"
|
|
13953
14678
|
},
|
|
14679
|
+
{
|
|
14680
|
+
"kind": "Method",
|
|
14681
|
+
"canonicalReference": "@fgv/ts-agent-memory!MemoryIndex#byRank:member(1)",
|
|
14682
|
+
"docComment": "/**\n * All records ordered by store-computed {@link IMemoryEnvelope.rank} descending, with recency (most-recently-updated, then `seq`) as a tiebreak. Records with an absent `rank` sort LAST (after every ranked record), then by recency among themselves. Serves a bounded top-M ({@link IMemoryEnvelope.rank}-ordered) page from the in-memory index with no full-vault (filesystem) scan.\n */\n",
|
|
14683
|
+
"excerptTokens": [
|
|
14684
|
+
{
|
|
14685
|
+
"kind": "Content",
|
|
14686
|
+
"text": "byRank(): "
|
|
14687
|
+
},
|
|
14688
|
+
{
|
|
14689
|
+
"kind": "Reference",
|
|
14690
|
+
"text": "ReadonlyArray",
|
|
14691
|
+
"canonicalReference": "!ReadonlyArray:interface"
|
|
14692
|
+
},
|
|
14693
|
+
{
|
|
14694
|
+
"kind": "Content",
|
|
14695
|
+
"text": "<"
|
|
14696
|
+
},
|
|
14697
|
+
{
|
|
14698
|
+
"kind": "Reference",
|
|
14699
|
+
"text": "IMemoryRecord",
|
|
14700
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecord:interface"
|
|
14701
|
+
},
|
|
14702
|
+
{
|
|
14703
|
+
"kind": "Content",
|
|
14704
|
+
"text": "<unknown>>"
|
|
14705
|
+
},
|
|
14706
|
+
{
|
|
14707
|
+
"kind": "Content",
|
|
14708
|
+
"text": ";"
|
|
14709
|
+
}
|
|
14710
|
+
],
|
|
14711
|
+
"isStatic": false,
|
|
14712
|
+
"returnTypeTokenRange": {
|
|
14713
|
+
"startIndex": 1,
|
|
14714
|
+
"endIndex": 5
|
|
14715
|
+
},
|
|
14716
|
+
"releaseTag": "Public",
|
|
14717
|
+
"isProtected": false,
|
|
14718
|
+
"overloadIndex": 1,
|
|
14719
|
+
"parameters": [],
|
|
14720
|
+
"isOptional": false,
|
|
14721
|
+
"isAbstract": false,
|
|
14722
|
+
"name": "byRank"
|
|
14723
|
+
},
|
|
13954
14724
|
{
|
|
13955
14725
|
"kind": "Method",
|
|
13956
14726
|
"canonicalReference": "@fgv/ts-agent-memory!MemoryIndex#byRecency:member(1)",
|
|
@@ -15369,6 +16139,74 @@
|
|
|
15369
16139
|
"endIndex": 2
|
|
15370
16140
|
}
|
|
15371
16141
|
},
|
|
16142
|
+
{
|
|
16143
|
+
"kind": "Function",
|
|
16144
|
+
"canonicalReference": "@fgv/ts-agent-memory!orderingCompare:function(1)",
|
|
16145
|
+
"docComment": "/**\n * Select the record comparator for a query's {@link IMemoryQuery.orderBy | orderBy} axis: {@link rankCompare} for `'rank'`, {@link recencyCompare} otherwise (the default, byte-identical to the pre-`orderBy` behavior).\n *\n * @public\n */\n",
|
|
16146
|
+
"excerptTokens": [
|
|
16147
|
+
{
|
|
16148
|
+
"kind": "Content",
|
|
16149
|
+
"text": "export declare function orderingCompare(orderBy?: "
|
|
16150
|
+
},
|
|
16151
|
+
{
|
|
16152
|
+
"kind": "Reference",
|
|
16153
|
+
"text": "IMemoryQuery",
|
|
16154
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryQuery:interface"
|
|
16155
|
+
},
|
|
16156
|
+
{
|
|
16157
|
+
"kind": "Content",
|
|
16158
|
+
"text": "['orderBy']"
|
|
16159
|
+
},
|
|
16160
|
+
{
|
|
16161
|
+
"kind": "Content",
|
|
16162
|
+
"text": "): "
|
|
16163
|
+
},
|
|
16164
|
+
{
|
|
16165
|
+
"kind": "Content",
|
|
16166
|
+
"text": "(a: "
|
|
16167
|
+
},
|
|
16168
|
+
{
|
|
16169
|
+
"kind": "Reference",
|
|
16170
|
+
"text": "IMemoryRecord",
|
|
16171
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecord:interface"
|
|
16172
|
+
},
|
|
16173
|
+
{
|
|
16174
|
+
"kind": "Content",
|
|
16175
|
+
"text": "<unknown>, b: "
|
|
16176
|
+
},
|
|
16177
|
+
{
|
|
16178
|
+
"kind": "Reference",
|
|
16179
|
+
"text": "IMemoryRecord",
|
|
16180
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecord:interface"
|
|
16181
|
+
},
|
|
16182
|
+
{
|
|
16183
|
+
"kind": "Content",
|
|
16184
|
+
"text": "<unknown>) => number"
|
|
16185
|
+
},
|
|
16186
|
+
{
|
|
16187
|
+
"kind": "Content",
|
|
16188
|
+
"text": ";"
|
|
16189
|
+
}
|
|
16190
|
+
],
|
|
16191
|
+
"fileUrlPath": "src/packlets/retrieve/retriever.ts",
|
|
16192
|
+
"returnTypeTokenRange": {
|
|
16193
|
+
"startIndex": 4,
|
|
16194
|
+
"endIndex": 9
|
|
16195
|
+
},
|
|
16196
|
+
"releaseTag": "Public",
|
|
16197
|
+
"overloadIndex": 1,
|
|
16198
|
+
"parameters": [
|
|
16199
|
+
{
|
|
16200
|
+
"parameterName": "orderBy",
|
|
16201
|
+
"parameterTypeTokenRange": {
|
|
16202
|
+
"startIndex": 1,
|
|
16203
|
+
"endIndex": 3
|
|
16204
|
+
},
|
|
16205
|
+
"isOptional": true
|
|
16206
|
+
}
|
|
16207
|
+
],
|
|
16208
|
+
"name": "orderingCompare"
|
|
16209
|
+
},
|
|
15372
16210
|
{
|
|
15373
16211
|
"kind": "Function",
|
|
15374
16212
|
"canonicalReference": "@fgv/ts-agent-memory!parseMemoryFile:function(1)",
|
|
@@ -15561,6 +16399,112 @@
|
|
|
15561
16399
|
"endIndex": 8
|
|
15562
16400
|
}
|
|
15563
16401
|
},
|
|
16402
|
+
{
|
|
16403
|
+
"kind": "Function",
|
|
16404
|
+
"canonicalReference": "@fgv/ts-agent-memory!rankCompare:function(1)",
|
|
16405
|
+
"docComment": "/**\n * Rank comparator: store-computed {@link IMemoryEnvelope.rank} descending, with {@link recencyCompare} as the tiebreak. Records with an absent `rank` sort LAST (after every ranked record), then by recency among themselves. Mirrors the index's rank-view ordering.\n *\n * @public\n */\n",
|
|
16406
|
+
"excerptTokens": [
|
|
16407
|
+
{
|
|
16408
|
+
"kind": "Content",
|
|
16409
|
+
"text": "export declare function rankCompare(a: "
|
|
16410
|
+
},
|
|
16411
|
+
{
|
|
16412
|
+
"kind": "Reference",
|
|
16413
|
+
"text": "IMemoryRecord",
|
|
16414
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecord:interface"
|
|
16415
|
+
},
|
|
16416
|
+
{
|
|
16417
|
+
"kind": "Content",
|
|
16418
|
+
"text": "<unknown>"
|
|
16419
|
+
},
|
|
16420
|
+
{
|
|
16421
|
+
"kind": "Content",
|
|
16422
|
+
"text": ", b: "
|
|
16423
|
+
},
|
|
16424
|
+
{
|
|
16425
|
+
"kind": "Reference",
|
|
16426
|
+
"text": "IMemoryRecord",
|
|
16427
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecord:interface"
|
|
16428
|
+
},
|
|
16429
|
+
{
|
|
16430
|
+
"kind": "Content",
|
|
16431
|
+
"text": "<unknown>"
|
|
16432
|
+
},
|
|
16433
|
+
{
|
|
16434
|
+
"kind": "Content",
|
|
16435
|
+
"text": "): "
|
|
16436
|
+
},
|
|
16437
|
+
{
|
|
16438
|
+
"kind": "Content",
|
|
16439
|
+
"text": "number"
|
|
16440
|
+
},
|
|
16441
|
+
{
|
|
16442
|
+
"kind": "Content",
|
|
16443
|
+
"text": ";"
|
|
16444
|
+
}
|
|
16445
|
+
],
|
|
16446
|
+
"fileUrlPath": "src/packlets/retrieve/retriever.ts",
|
|
16447
|
+
"returnTypeTokenRange": {
|
|
16448
|
+
"startIndex": 7,
|
|
16449
|
+
"endIndex": 8
|
|
16450
|
+
},
|
|
16451
|
+
"releaseTag": "Public",
|
|
16452
|
+
"overloadIndex": 1,
|
|
16453
|
+
"parameters": [
|
|
16454
|
+
{
|
|
16455
|
+
"parameterName": "a",
|
|
16456
|
+
"parameterTypeTokenRange": {
|
|
16457
|
+
"startIndex": 1,
|
|
16458
|
+
"endIndex": 3
|
|
16459
|
+
},
|
|
16460
|
+
"isOptional": false
|
|
16461
|
+
},
|
|
16462
|
+
{
|
|
16463
|
+
"parameterName": "b",
|
|
16464
|
+
"parameterTypeTokenRange": {
|
|
16465
|
+
"startIndex": 4,
|
|
16466
|
+
"endIndex": 6
|
|
16467
|
+
},
|
|
16468
|
+
"isOptional": false
|
|
16469
|
+
}
|
|
16470
|
+
],
|
|
16471
|
+
"name": "rankCompare"
|
|
16472
|
+
},
|
|
16473
|
+
{
|
|
16474
|
+
"kind": "TypeAlias",
|
|
16475
|
+
"canonicalReference": "@fgv/ts-agent-memory!RankProjector:type",
|
|
16476
|
+
"docComment": "/**\n * A per-kind host projection from a fully-resolved (post-merge) memory record to a numeric ordering value. Registered per kind at store construction (see `rankProjectors`); the store runs it on every put/update over the same resolved record whose `contentHash` it computes, stamping the result into {@link IMemoryEnvelope.rank}. The store never interprets the body — the host owns what the number means. A projector that throws is treated as \"no rank for this record\" (logged at `warn`), never failing the write.\n *\n * @public\n */\n",
|
|
16477
|
+
"excerptTokens": [
|
|
16478
|
+
{
|
|
16479
|
+
"kind": "Content",
|
|
16480
|
+
"text": "export type RankProjector = "
|
|
16481
|
+
},
|
|
16482
|
+
{
|
|
16483
|
+
"kind": "Content",
|
|
16484
|
+
"text": "(record: "
|
|
16485
|
+
},
|
|
16486
|
+
{
|
|
16487
|
+
"kind": "Reference",
|
|
16488
|
+
"text": "IMemoryRecord",
|
|
16489
|
+
"canonicalReference": "@fgv/ts-agent-memory!IMemoryRecord:interface"
|
|
16490
|
+
},
|
|
16491
|
+
{
|
|
16492
|
+
"kind": "Content",
|
|
16493
|
+
"text": "<unknown>) => number"
|
|
16494
|
+
},
|
|
16495
|
+
{
|
|
16496
|
+
"kind": "Content",
|
|
16497
|
+
"text": ";"
|
|
16498
|
+
}
|
|
16499
|
+
],
|
|
16500
|
+
"fileUrlPath": "src/packlets/types/envelope.ts",
|
|
16501
|
+
"releaseTag": "Public",
|
|
16502
|
+
"name": "RankProjector",
|
|
16503
|
+
"typeTokenRange": {
|
|
16504
|
+
"startIndex": 1,
|
|
16505
|
+
"endIndex": 4
|
|
16506
|
+
}
|
|
16507
|
+
},
|
|
15564
16508
|
{
|
|
15565
16509
|
"kind": "Function",
|
|
15566
16510
|
"canonicalReference": "@fgv/ts-agent-memory!recencyCompare:function(1)",
|
|
@@ -15843,7 +16787,7 @@
|
|
|
15843
16787
|
{
|
|
15844
16788
|
"kind": "TypeAlias",
|
|
15845
16789
|
"canonicalReference": "@fgv/ts-agent-memory!ResolutionVerdict:type",
|
|
15846
|
-
"docComment": "/**\n * The four dedup verdicts a {@link IEntityResolver} (or fgv's exact-match layer) returns for a candidate. See the design note §3 for the verdict → write disposition mapping.\n *\n * @public\n */\n",
|
|
16790
|
+
"docComment": "/**\n * The four dedup verdicts a {@link IEntityResolver} (or fgv's exact-match layer) returns for a candidate. See the design note §3 for the verdict → write disposition mapping. Each target-bearing arm carries a scope-qualified {@link IEdgeTarget} (not a bare {@link MemoryId}) so the verdict resolves to a single record even when a filename stem is reused across scopes.\n *\n * @public\n */\n",
|
|
15847
16791
|
"excerptTokens": [
|
|
15848
16792
|
{
|
|
15849
16793
|
"kind": "Content",
|
|
@@ -15855,8 +16799,8 @@
|
|
|
15855
16799
|
},
|
|
15856
16800
|
{
|
|
15857
16801
|
"kind": "Reference",
|
|
15858
|
-
"text": "
|
|
15859
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
16802
|
+
"text": "IEdgeTarget",
|
|
16803
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
15860
16804
|
},
|
|
15861
16805
|
{
|
|
15862
16806
|
"kind": "Content",
|
|
@@ -15864,8 +16808,8 @@
|
|
|
15864
16808
|
},
|
|
15865
16809
|
{
|
|
15866
16810
|
"kind": "Reference",
|
|
15867
|
-
"text": "
|
|
15868
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
16811
|
+
"text": "IEdgeTarget",
|
|
16812
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
15869
16813
|
},
|
|
15870
16814
|
{
|
|
15871
16815
|
"kind": "Content",
|
|
@@ -15873,8 +16817,8 @@
|
|
|
15873
16817
|
},
|
|
15874
16818
|
{
|
|
15875
16819
|
"kind": "Reference",
|
|
15876
|
-
"text": "
|
|
15877
|
-
"canonicalReference": "@fgv/ts-agent-memory!
|
|
16820
|
+
"text": "IEdgeTarget",
|
|
16821
|
+
"canonicalReference": "@fgv/ts-agent-memory!IEdgeTarget:interface"
|
|
15878
16822
|
},
|
|
15879
16823
|
{
|
|
15880
16824
|
"kind": "Content",
|