@fgv/ts-agent-memory 5.1.0-41 → 5.1.0-43
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/{cbbdbe09515171b4eba8f2592be2dace1e4e8142.tar.log → 285f03271c27ef724d49e730c0db58d9e4ac1a44.tar.log} +38 -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/retrieve/fragmentSemanticRetriever.js +78 -0
- package/dist/packlets/retrieve/fragmentSemanticRetriever.js.map +1 -0
- package/dist/packlets/retrieve/index.js +1 -0
- package/dist/packlets/retrieve/index.js.map +1 -1
- package/dist/packlets/store/fileTreeMemoryStore.js +105 -14
- package/dist/packlets/store/fileTreeMemoryStore.js.map +1 -1
- package/dist/packlets/vector/inMemoryFragmentCosineIndex.js +200 -0
- package/dist/packlets/vector/inMemoryFragmentCosineIndex.js.map +1 -0
- package/dist/packlets/vector/index.js +1 -0
- package/dist/packlets/vector/index.js.map +1 -1
- package/dist/packlets/vector/vectorIndex.js.map +1 -1
- package/dist/test/unit/retrieve/fragmentSemanticRetriever.test.js +116 -0
- package/dist/test/unit/retrieve/fragmentSemanticRetriever.test.js.map +1 -0
- package/dist/test/unit/store/fragmentEmbedOnWrite.test.js +255 -0
- package/dist/test/unit/store/fragmentEmbedOnWrite.test.js.map +1 -0
- package/dist/test/unit/store/lenientOpen.test.js +248 -0
- package/dist/test/unit/store/lenientOpen.test.js.map +1 -0
- package/dist/test/unit/vector/inMemoryFragmentCosineIndex.test.js +297 -0
- package/dist/test/unit/vector/inMemoryFragmentCosineIndex.test.js.map +1 -0
- package/dist/ts-agent-memory.d.ts +367 -4
- package/etc/ts-agent-memory.api.md +78 -0
- package/lib/packlets/retrieve/fragmentSemanticRetriever.d.ts +90 -0
- package/lib/packlets/retrieve/fragmentSemanticRetriever.d.ts.map +1 -0
- package/lib/packlets/retrieve/fragmentSemanticRetriever.js +82 -0
- package/lib/packlets/retrieve/fragmentSemanticRetriever.js.map +1 -0
- package/lib/packlets/retrieve/index.d.ts +1 -0
- package/lib/packlets/retrieve/index.d.ts.map +1 -1
- package/lib/packlets/retrieve/index.js +1 -0
- package/lib/packlets/retrieve/index.js.map +1 -1
- package/lib/packlets/store/fileTreeMemoryStore.d.ts +115 -1
- package/lib/packlets/store/fileTreeMemoryStore.d.ts.map +1 -1
- package/lib/packlets/store/fileTreeMemoryStore.js +104 -13
- package/lib/packlets/store/fileTreeMemoryStore.js.map +1 -1
- package/lib/packlets/vector/inMemoryFragmentCosineIndex.d.ts +74 -0
- package/lib/packlets/vector/inMemoryFragmentCosineIndex.d.ts.map +1 -0
- package/lib/packlets/vector/inMemoryFragmentCosineIndex.js +204 -0
- package/lib/packlets/vector/inMemoryFragmentCosineIndex.js.map +1 -0
- package/lib/packlets/vector/index.d.ts +1 -0
- package/lib/packlets/vector/index.d.ts.map +1 -1
- package/lib/packlets/vector/index.js +1 -0
- package/lib/packlets/vector/index.js.map +1 -1
- package/lib/packlets/vector/vectorIndex.d.ts +85 -4
- package/lib/packlets/vector/vectorIndex.d.ts.map +1 -1
- package/lib/packlets/vector/vectorIndex.js.map +1 -1
- package/lib/test/unit/retrieve/fragmentSemanticRetriever.test.d.ts +2 -0
- package/lib/test/unit/retrieve/fragmentSemanticRetriever.test.d.ts.map +1 -0
- package/lib/test/unit/retrieve/fragmentSemanticRetriever.test.js +118 -0
- package/lib/test/unit/retrieve/fragmentSemanticRetriever.test.js.map +1 -0
- package/lib/test/unit/store/fragmentEmbedOnWrite.test.d.ts +2 -0
- package/lib/test/unit/store/fragmentEmbedOnWrite.test.d.ts.map +1 -0
- package/lib/test/unit/store/fragmentEmbedOnWrite.test.js +257 -0
- package/lib/test/unit/store/fragmentEmbedOnWrite.test.js.map +1 -0
- package/lib/test/unit/store/lenientOpen.test.d.ts +2 -0
- package/lib/test/unit/store/lenientOpen.test.d.ts.map +1 -0
- package/lib/test/unit/store/lenientOpen.test.js +250 -0
- package/lib/test/unit/store/lenientOpen.test.js.map +1 -0
- package/lib/test/unit/vector/inMemoryFragmentCosineIndex.test.d.ts +2 -0
- package/lib/test/unit/vector/inMemoryFragmentCosineIndex.test.d.ts.map +1 -0
- package/lib/test/unit/vector/inMemoryFragmentCosineIndex.test.js +299 -0
- package/lib/test/unit/vector/inMemoryFragmentCosineIndex.test.js.map +1 -0
- 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/retrieve/fragmentSemanticRetriever.ts +135 -0
- package/src/packlets/retrieve/index.ts +1 -0
- package/src/packlets/store/fileTreeMemoryStore.ts +208 -16
- package/src/packlets/vector/inMemoryFragmentCosineIndex.ts +262 -0
- package/src/packlets/vector/index.ts +1 -0
- package/src/packlets/vector/vectorIndex.ts +97 -4
- package/src/test/unit/retrieve/fragmentSemanticRetriever.test.ts +163 -0
- package/src/test/unit/store/fragmentEmbedOnWrite.test.ts +349 -0
- package/src/test/unit/store/lenientOpen.test.ts +292 -0
- package/src/test/unit/vector/inMemoryFragmentCosineIndex.test.ts +389 -0
- package/temp/build/lint/_eslint-5eVG3S6w.json +29 -5
- package/temp/build/typescript/ts_8nwakTlr.json +1 -1
- package/temp/ts-agent-memory.api.json +4584 -2859
- package/temp/ts-agent-memory.api.md +78 -0
|
@@ -121,6 +121,22 @@ export class FileTreeMemoryStore implements IMemoryStore {
|
|
|
121
121
|
list(filter?: IMemoryStoreListFilter): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
|
|
122
122
|
listScoped(): Promise<Result<ReadonlyArray<IScopedMemoryRecord>>>;
|
|
123
123
|
put(record: IMemoryRecord<unknown>): Promise<Result<IMemoryRecord<unknown>>>;
|
|
124
|
+
get skippedRecords(): ReadonlyArray<ISkippedRecord>;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// @public
|
|
128
|
+
export const FRAGMENT_SEMANTIC_UNWIRED_MESSAGE: string;
|
|
129
|
+
|
|
130
|
+
// @public
|
|
131
|
+
export type FragmentEmbedder = (record: IMemoryRecord<unknown>) => Promise<Result<ReadonlyArray<IEmbeddedFragment>>>;
|
|
132
|
+
|
|
133
|
+
// @public
|
|
134
|
+
export class FragmentSemanticRetriever {
|
|
135
|
+
get capabilities(): IFragmentRetrieverCapabilities;
|
|
136
|
+
static create(params: {
|
|
137
|
+
readonly backend?: IFragmentSemanticBackend;
|
|
138
|
+
}): Result<FragmentSemanticRetriever>;
|
|
139
|
+
retrieve(query: IFragmentQuery): Promise<Result<ReadonlyArray<IVectorQueryHit>>>;
|
|
124
140
|
}
|
|
125
141
|
|
|
126
142
|
// @public
|
|
@@ -203,6 +219,12 @@ export interface IEdgeTarget {
|
|
|
203
219
|
readonly scope: MemoryScopeKey;
|
|
204
220
|
}
|
|
205
221
|
|
|
222
|
+
// @public
|
|
223
|
+
export interface IEmbeddedFragment {
|
|
224
|
+
readonly locator: IFragmentLocator;
|
|
225
|
+
readonly vector: Float32Array;
|
|
226
|
+
}
|
|
227
|
+
|
|
206
228
|
// @public
|
|
207
229
|
export interface IEntityResolutionCandidate {
|
|
208
230
|
readonly record: IMemoryRecord<unknown>;
|
|
@@ -226,8 +248,11 @@ export interface IFileTreeMemoryStoreCreateParams {
|
|
|
226
248
|
readonly codecs?: ReadonlyMap<Kind, IIdentityCodec>;
|
|
227
249
|
readonly defaultCodec?: IIdentityCodec;
|
|
228
250
|
readonly embed?: MemoryEmbedder;
|
|
251
|
+
readonly fragmentEmbedder?: FragmentEmbedder;
|
|
252
|
+
readonly fragmentIndex?: IFragmentVectorIndex;
|
|
229
253
|
readonly logger?: Logging.ILogger;
|
|
230
254
|
readonly observers?: ReadonlyArray<IMemoryObserver>;
|
|
255
|
+
readonly onRecordError?: MemoryRecordErrorMode;
|
|
231
256
|
readonly rankProjectors?: ReadonlyMap<Kind, RankProjector>;
|
|
232
257
|
readonly registry: IBodyConverterRegistry;
|
|
233
258
|
readonly root: FileTree.IMutableFileTreeDirectoryItem;
|
|
@@ -236,6 +261,37 @@ export interface IFileTreeMemoryStoreCreateParams {
|
|
|
236
261
|
readonly writePolicies?: ReadonlyMap<Kind, IWritePolicy>;
|
|
237
262
|
}
|
|
238
263
|
|
|
264
|
+
// @public
|
|
265
|
+
export interface IFragmentLocator {
|
|
266
|
+
readonly end: number;
|
|
267
|
+
readonly start: number;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// @public
|
|
271
|
+
export interface IFragmentQuery {
|
|
272
|
+
readonly maxPerRecord?: number;
|
|
273
|
+
readonly semantic: string;
|
|
274
|
+
readonly topK?: number;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// @public
|
|
278
|
+
export interface IFragmentRetrieverCapabilities {
|
|
279
|
+
readonly supportsFragmentRecall: boolean;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
// @public
|
|
283
|
+
export interface IFragmentSemanticBackend {
|
|
284
|
+
readonly embedQuery: QueryEmbedder;
|
|
285
|
+
readonly fragmentIndex: IFragmentVectorIndex;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
// @public
|
|
289
|
+
export interface IFragmentVectorIndex {
|
|
290
|
+
addFragments(target: IEdgeTarget, fragments: ReadonlyArray<IEmbeddedFragment>): Promise<Result<number>>;
|
|
291
|
+
query(vector: Float32Array, topK: number, maxPerRecord?: number): Promise<Result<ReadonlyArray<IVectorQueryHit>>>;
|
|
292
|
+
remove(target: IEdgeTarget): Promise<Result<IEdgeTarget>>;
|
|
293
|
+
}
|
|
294
|
+
|
|
239
295
|
// @public
|
|
240
296
|
export interface IIdentityCodec {
|
|
241
297
|
decode(scope: MemoryScopeKey, encodedStem: string): Result<EntityId>;
|
|
@@ -495,6 +551,17 @@ export class InMemoryCosineIndex implements IVectorIndex {
|
|
|
495
551
|
get size(): number;
|
|
496
552
|
}
|
|
497
553
|
|
|
554
|
+
// @public
|
|
555
|
+
export class InMemoryFragmentCosineIndex implements IFragmentVectorIndex {
|
|
556
|
+
addFragments(target: IEdgeTarget, fragments: ReadonlyArray<IEmbeddedFragment>): Promise<Result<number>>;
|
|
557
|
+
static create(): Result<InMemoryFragmentCosineIndex>;
|
|
558
|
+
get fragmentCount(): number;
|
|
559
|
+
query(vector: Float32Array, topK: number, maxPerRecord?: number): Promise<Result<ReadonlyArray<IVectorQueryHit>>>;
|
|
560
|
+
rebuild(source: IMemoryRecordSource, embed: FragmentEmbedder): Promise<Result<number>>;
|
|
561
|
+
get recordCount(): number;
|
|
562
|
+
remove(target: IEdgeTarget): Promise<Result<IEdgeTarget>>;
|
|
563
|
+
}
|
|
564
|
+
|
|
498
565
|
// @public
|
|
499
566
|
export interface IProvenance {
|
|
500
567
|
readonly [key: string]: unknown;
|
|
@@ -540,6 +607,13 @@ export interface ISemanticRetrieverCreateParams {
|
|
|
540
607
|
readonly index: IMemoryIndex;
|
|
541
608
|
}
|
|
542
609
|
|
|
610
|
+
// @public
|
|
611
|
+
export interface ISkippedRecord {
|
|
612
|
+
readonly error: string;
|
|
613
|
+
readonly path: string;
|
|
614
|
+
readonly scope: MemoryScopeKey;
|
|
615
|
+
}
|
|
616
|
+
|
|
543
617
|
// @public
|
|
544
618
|
export function isTemporalIdentityCodec(codec: IIdentityCodec): codec is ITemporalIdentityCodec;
|
|
545
619
|
|
|
@@ -579,6 +653,7 @@ export interface IVectorIndex {
|
|
|
579
653
|
|
|
580
654
|
// @public
|
|
581
655
|
export interface IVectorQueryHit {
|
|
656
|
+
readonly locator?: IFragmentLocator;
|
|
582
657
|
readonly score: number;
|
|
583
658
|
readonly target: IEdgeTarget;
|
|
584
659
|
}
|
|
@@ -698,6 +773,9 @@ export class MemoryObservationStore implements IMemoryObserver {
|
|
|
698
773
|
get size(): number;
|
|
699
774
|
}
|
|
700
775
|
|
|
776
|
+
// @public
|
|
777
|
+
export type MemoryRecordErrorMode = 'skip' | 'fail';
|
|
778
|
+
|
|
701
779
|
// @public
|
|
702
780
|
export type MemoryScopeKey = Brand<string, 'MemoryScopeKey'>;
|
|
703
781
|
|