@mcp-abap-adt/llm-agent 26.0.0 → 28.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/credentials/static.d.ts +9 -0
- package/dist/credentials/static.d.ts.map +1 -0
- package/dist/credentials/static.js +12 -0
- package/dist/credentials/static.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/builder.d.ts +11 -1
- package/dist/interfaces/builder.d.ts.map +1 -1
- package/dist/interfaces/collect-server-descriptors.d.ts +12 -0
- package/dist/interfaces/collect-server-descriptors.d.ts.map +1 -0
- package/dist/interfaces/collect-server-descriptors.js +19 -0
- package/dist/interfaces/collect-server-descriptors.js.map +1 -0
- package/dist/interfaces/index.d.ts +3 -2
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/mcp-connection-strategy.d.ts +29 -2
- package/dist/interfaces/mcp-connection-strategy.d.ts.map +1 -1
- package/dist/interfaces/mcp-server-from-factory.d.ts +15 -0
- package/dist/interfaces/mcp-server-from-factory.d.ts.map +1 -0
- package/dist/interfaces/mcp-server-from-factory.js +37 -0
- package/dist/interfaces/mcp-server-from-factory.js.map +1 -0
- package/dist/interfaces/mcp-server.d.ts +24 -0
- package/dist/interfaces/mcp-server.d.ts.map +1 -0
- package/dist/interfaces/mcp-server.js +2 -0
- package/dist/interfaces/mcp-server.js.map +1 -0
- package/dist/interfaces/pipeline-plugin.d.ts +16 -6
- package/dist/interfaces/pipeline-plugin.d.ts.map +1 -1
- package/dist/interfaces/plugin.d.ts +11 -3
- package/dist/interfaces/plugin.d.ts.map +1 -1
- package/dist/interfaces/rag.d.ts +124 -21
- package/dist/interfaces/rag.d.ts.map +1 -1
- package/dist/interfaces/rag.js.map +1 -1
- package/dist/interfaces/tool-catalog.d.ts +4 -2
- package/dist/interfaces/tool-catalog.d.ts.map +1 -1
- package/dist/interfaces/tool-catalog.js.map +1 -1
- package/dist/interfaces/types.d.ts +2 -1
- package/dist/interfaces/types.d.ts.map +1 -1
- package/dist/interfaces/types.js.map +1 -1
- package/dist/llm/base-llm-provider.d.ts +29 -4
- package/dist/llm/base-llm-provider.d.ts.map +1 -1
- package/dist/llm/base-llm-provider.js +45 -9
- package/dist/llm/base-llm-provider.js.map +1 -1
- package/dist/logger/normalise-logger.d.ts +28 -0
- package/dist/logger/normalise-logger.d.ts.map +1 -0
- package/dist/logger/normalise-logger.js +50 -0
- package/dist/logger/normalise-logger.js.map +1 -0
- package/dist/logger/text-logger.d.ts +14 -0
- package/dist/logger/text-logger.d.ts.map +1 -0
- package/dist/logger/text-logger.js +2 -0
- package/dist/logger/text-logger.js.map +1 -0
- package/dist/policy/fallback-llm-call-strategy.d.ts +3 -3
- package/dist/policy/fallback-llm-call-strategy.d.ts.map +1 -1
- package/dist/policy/fallback-llm-call-strategy.js +3 -2
- package/dist/policy/fallback-llm-call-strategy.js.map +1 -1
- package/dist/rag/catalog/index.d.ts +2 -0
- package/dist/rag/catalog/index.d.ts.map +1 -0
- package/dist/rag/catalog/index.js +2 -0
- package/dist/rag/catalog/index.js.map +1 -0
- package/dist/rag/catalog/validation.d.ts +56 -0
- package/dist/rag/catalog/validation.d.ts.map +1 -0
- package/dist/rag/catalog/validation.js +168 -0
- package/dist/rag/catalog/validation.js.map +1 -0
- package/dist/rag/corrections/errors.d.ts +47 -0
- package/dist/rag/corrections/errors.d.ts.map +1 -1
- package/dist/rag/corrections/errors.js +73 -0
- package/dist/rag/corrections/errors.js.map +1 -1
- package/dist/rag/identity-filter.d.ts +19 -0
- package/dist/rag/identity-filter.d.ts.map +1 -0
- package/dist/rag/identity-filter.js +31 -0
- package/dist/rag/identity-filter.js.map +1 -0
- package/dist/rag/in-memory-rag.d.ts +3 -1
- package/dist/rag/in-memory-rag.d.ts.map +1 -1
- package/dist/rag/in-memory-rag.js +20 -15
- package/dist/rag/in-memory-rag.js.map +1 -1
- package/dist/rag/index.d.ts +3 -0
- package/dist/rag/index.d.ts.map +1 -1
- package/dist/rag/index.js +2 -0
- package/dist/rag/index.js.map +1 -1
- package/dist/rag/mcp-tools/index.d.ts +1 -1
- package/dist/rag/mcp-tools/index.d.ts.map +1 -1
- package/dist/rag/mcp-tools/index.js.map +1 -1
- package/dist/rag/mcp-tools/rag-collection-tools.d.ts +36 -5
- package/dist/rag/mcp-tools/rag-collection-tools.d.ts.map +1 -1
- package/dist/rag/mcp-tools/rag-collection-tools.js +121 -58
- package/dist/rag/mcp-tools/rag-collection-tools.js.map +1 -1
- package/dist/rag/providers/base-provider.d.ts +8 -6
- package/dist/rag/providers/base-provider.d.ts.map +1 -1
- package/dist/rag/providers/base-provider.js +18 -0
- package/dist/rag/providers/base-provider.js.map +1 -1
- package/dist/rag/providers/in-memory-rag-provider.d.ts +4 -7
- package/dist/rag/providers/in-memory-rag-provider.d.ts.map +1 -1
- package/dist/rag/providers/in-memory-rag-provider.js +11 -4
- package/dist/rag/providers/in-memory-rag-provider.js.map +1 -1
- package/dist/rag/providers/vector-rag-provider.d.ts +4 -7
- package/dist/rag/providers/vector-rag-provider.d.ts.map +1 -1
- package/dist/rag/providers/vector-rag-provider.js +11 -4
- package/dist/rag/providers/vector-rag-provider.js.map +1 -1
- package/dist/rag/registry/index.d.ts +1 -0
- package/dist/rag/registry/index.d.ts.map +1 -1
- package/dist/rag/registry/index.js +1 -0
- package/dist/rag/registry/index.js.map +1 -1
- package/dist/rag/registry/simple-rag-registry.d.ts +74 -30
- package/dist/rag/registry/simple-rag-registry.d.ts.map +1 -1
- package/dist/rag/registry/simple-rag-registry.js +265 -100
- package/dist/rag/registry/simple-rag-registry.js.map +1 -1
- package/dist/rag/registry/store-key.d.ts +15 -0
- package/dist/rag/registry/store-key.d.ts.map +1 -0
- package/dist/rag/registry/store-key.js +25 -0
- package/dist/rag/registry/store-key.js.map +1 -0
- package/dist/rag/search-strategy.d.ts +9 -0
- package/dist/rag/search-strategy.d.ts.map +1 -1
- package/dist/rag/search-strategy.js +49 -22
- package/dist/rag/search-strategy.js.map +1 -1
- package/dist/rag/tokenizer.d.ts +17 -0
- package/dist/rag/tokenizer.d.ts.map +1 -0
- package/dist/rag/tokenizer.js +38 -0
- package/dist/rag/tokenizer.js.map +1 -0
- package/dist/rag/vector-rag.d.ts +2 -2
- package/dist/rag/vector-rag.d.ts.map +1 -1
- package/dist/rag/vector-rag.js +29 -21
- package/dist/rag/vector-rag.js.map +1 -1
- package/dist/resilience/embedder-resilience.d.ts +2 -2
- package/dist/resilience/embedder-resilience.d.ts.map +1 -1
- package/dist/resilience/embedder-resilience.js +3 -1
- package/dist/resilience/embedder-resilience.js.map +1 -1
- package/dist/testing/rag-filter-conformance.d.ts +60 -0
- package/dist/testing/rag-filter-conformance.d.ts.map +1 -0
- package/dist/testing/rag-filter-conformance.js +379 -0
- package/dist/testing/rag-filter-conformance.js.map +1 -0
- package/dist/types.d.ts +11 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -2
- package/dist/interfaces/failure-strategy.d.ts +0 -95
- package/dist/interfaces/failure-strategy.d.ts.map +0 -1
- package/dist/interfaces/failure-strategy.js +0 -96
- package/dist/interfaces/failure-strategy.js.map +0 -1
- package/dist/llm/rate-limit.d.ts +0 -165
- package/dist/llm/rate-limit.d.ts.map +0 -1
- package/dist/llm/rate-limit.js +0 -394
- package/dist/llm/rate-limit.js.map +0 -1
- package/dist/resilience/status.d.ts +0 -29
- package/dist/resilience/status.d.ts.map +0 -1
- package/dist/resilience/status.js +0 -51
- package/dist/resilience/status.js.map +0 -1
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { RagError } from '../../interfaces/types.js';
|
|
3
|
-
import {
|
|
3
|
+
import { ragOwnerKeys, validateRagAttributes, validateRagOwner, } from '../catalog/validation.js';
|
|
4
|
+
import { AmbiguousCollectionError, CatalogRecordDeleteError, CollectionNotFoundError, DeleteUnsupportedError, DuplicateCollectionError, ProviderNotFoundError, SessionCloseIncompleteError, } from '../corrections/errors.js';
|
|
4
5
|
import { ImmutableEditStrategy } from '../strategies/edit/immutable.js';
|
|
6
|
+
import { reservedGlobalNameError } from './store-key.js';
|
|
5
7
|
/**
|
|
6
8
|
* The name a provider keeps a collection's data under.
|
|
7
9
|
*
|
|
8
10
|
* The collection name and a digest of its scope, its owner (the session for a
|
|
9
11
|
* session collection, the user for a user one) and the name. The same
|
|
10
|
-
* collection of the same owner
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* the
|
|
14
|
-
*
|
|
12
|
+
* collection of the same owner always names the same store; another session or
|
|
13
|
+
* user names another one, so none opens a store someone else left. Because the
|
|
14
|
+
* name is deterministic, a second creation of a collection that exists is
|
|
15
|
+
* refused by the provider (RAG_DUPLICATE_COLLECTION when it has a record,
|
|
16
|
+
* RAG_ORPHAN_STORE when only its store is there) — a restart reattaches a
|
|
17
|
+
* collection by hydration (describeCollections, openCollection, adopt), never
|
|
18
|
+
* by creating it again (§6.3). It fits the strictest provider rules: letters,
|
|
19
|
+
* digits and underscores, not starting with a digit, at most 63 characters
|
|
20
|
+
* (PostgreSQL, HANA).
|
|
15
21
|
*/
|
|
16
22
|
function storeNameFor(params) {
|
|
17
23
|
const owner = params.scope === 'session'
|
|
18
|
-
?
|
|
24
|
+
? params.sessionId
|
|
19
25
|
: params.scope === 'user'
|
|
20
|
-
?
|
|
26
|
+
? params.userId
|
|
21
27
|
: '';
|
|
22
28
|
const digest = createHash('sha256')
|
|
23
29
|
.update(JSON.stringify([params.scope, owner, params.collectionName]))
|
|
@@ -28,15 +34,23 @@ function storeNameFor(params) {
|
|
|
28
34
|
base = `_${base}`;
|
|
29
35
|
return `${base.slice(0, 63 - digest.length - 1)}_${digest}`;
|
|
30
36
|
}
|
|
37
|
+
/** A collection is its scope and its name (§6.4); the owner is the registry's own. */
|
|
38
|
+
function keyOf(scope, name) {
|
|
39
|
+
return JSON.stringify([scope, name]);
|
|
40
|
+
}
|
|
41
|
+
const SCOPES = ['global', 'user', 'session'];
|
|
31
42
|
export class SimpleRagRegistry {
|
|
43
|
+
/** Keyed by keyOf(scope, name). */
|
|
32
44
|
entries = new Map();
|
|
33
45
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
46
|
+
* Keys (scope, name) whose deletion is running. Absent to get, getEditor and
|
|
47
|
+
* list, so nothing reaches the collection; taken for createCollection,
|
|
48
|
+
* register and adopt, which refuse it — a taken name is refused, not queued
|
|
49
|
+
* (§6.3). The reservation is what lets a failed record deletion restore the
|
|
50
|
+
* entry: without it a creation could take the key in between.
|
|
37
51
|
*/
|
|
38
|
-
|
|
39
|
-
/**
|
|
52
|
+
deleting = new Set();
|
|
53
|
+
/** Keys (scope, name) being created, held until inserted or refused. */
|
|
40
54
|
creating = new Set();
|
|
41
55
|
providerRegistry;
|
|
42
56
|
mutationListener;
|
|
@@ -49,12 +63,52 @@ export class SimpleRagRegistry {
|
|
|
49
63
|
fireMutation() {
|
|
50
64
|
this.mutationListener?.();
|
|
51
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* The entry `name` addresses: with a scope, that scope's; without one, the
|
|
68
|
+
* entry of the one scope holding it — or AmbiguousCollectionError naming
|
|
69
|
+
* every scope that does. Never a silent precedence between scopes.
|
|
70
|
+
*/
|
|
71
|
+
find(name, scope) {
|
|
72
|
+
if (scope) {
|
|
73
|
+
const key = keyOf(scope, name);
|
|
74
|
+
const entry = this.entries.get(key);
|
|
75
|
+
return { ok: true, found: entry ? { key, entry } : undefined };
|
|
76
|
+
}
|
|
77
|
+
const held = SCOPES.filter((s) => this.entries.has(keyOf(s, name)));
|
|
78
|
+
if (held.length > 1) {
|
|
79
|
+
return { ok: false, error: new AmbiguousCollectionError(name, held) };
|
|
80
|
+
}
|
|
81
|
+
if (held.length === 0)
|
|
82
|
+
return { ok: true };
|
|
83
|
+
const key = keyOf(held[0], name);
|
|
84
|
+
const entry = this.entries.get(key);
|
|
85
|
+
return { ok: true, found: { key, entry } };
|
|
86
|
+
}
|
|
87
|
+
findOrThrow(name, scope) {
|
|
88
|
+
const f = this.find(name, scope);
|
|
89
|
+
if (!f.ok)
|
|
90
|
+
throw f.error;
|
|
91
|
+
return f.found;
|
|
92
|
+
}
|
|
93
|
+
/** A key is taken while an entry holds it, or a creation or deletion runs. */
|
|
94
|
+
isTaken(key) {
|
|
95
|
+
return (this.entries.has(key) || this.creating.has(key) || this.deleting.has(key));
|
|
96
|
+
}
|
|
97
|
+
insert(key, entry) {
|
|
98
|
+
this.entries.set(key, entry);
|
|
99
|
+
this.fireMutation();
|
|
100
|
+
}
|
|
52
101
|
register(name, rag, editor, meta) {
|
|
53
|
-
|
|
54
|
-
|
|
102
|
+
const scope = meta?.scope ?? 'global';
|
|
103
|
+
const reserved = reservedGlobalNameError(scope, name);
|
|
104
|
+
if (reserved)
|
|
105
|
+
throw reserved;
|
|
106
|
+
const key = keyOf(scope, name);
|
|
107
|
+
if (this.isTaken(key)) {
|
|
108
|
+
throw new DuplicateCollectionError(name, `already registered in scope '${scope}'`);
|
|
55
109
|
}
|
|
56
110
|
const editable = Boolean(editor) && !(editor instanceof ImmutableEditStrategy);
|
|
57
|
-
this.
|
|
111
|
+
this.insert(key, {
|
|
58
112
|
rag,
|
|
59
113
|
editor,
|
|
60
114
|
storeName: name,
|
|
@@ -63,31 +117,97 @@ export class SimpleRagRegistry {
|
|
|
63
117
|
displayName: meta?.displayName ?? name,
|
|
64
118
|
description: meta?.description,
|
|
65
119
|
editable,
|
|
66
|
-
scope
|
|
120
|
+
scope,
|
|
67
121
|
sessionId: meta?.sessionId,
|
|
68
122
|
userId: meta?.userId,
|
|
69
123
|
providerName: meta?.providerName,
|
|
70
124
|
tags: meta?.tags,
|
|
71
125
|
},
|
|
72
126
|
});
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Register a collection whose store EXISTS, from its catalog record (§6.3):
|
|
130
|
+
* under its logical name, with the store name the record gives. Creates
|
|
131
|
+
* nothing and asks no provider for anything. See IRagRegistry.adopt.
|
|
132
|
+
*/
|
|
133
|
+
adopt(record, rag, editor, providerName) {
|
|
134
|
+
// A record may come from a caller no compiler saw: the one owner rule,
|
|
135
|
+
// and the owner it returns, with only the key its scope selects.
|
|
136
|
+
const owner = validateRagOwner(record);
|
|
137
|
+
if (!owner.ok)
|
|
138
|
+
throw owner.error;
|
|
139
|
+
const reserved = reservedGlobalNameError(owner.value.scope, record.name);
|
|
140
|
+
if (reserved)
|
|
141
|
+
throw reserved;
|
|
142
|
+
const key = keyOf(owner.value.scope, record.name);
|
|
143
|
+
if (this.isTaken(key)) {
|
|
144
|
+
throw new DuplicateCollectionError(record.name, `already registered in scope '${owner.value.scope}'`);
|
|
145
|
+
}
|
|
146
|
+
this.insert(key, {
|
|
147
|
+
rag,
|
|
148
|
+
editor,
|
|
149
|
+
// NOT record.name: the provider knows the store by its own name, and a
|
|
150
|
+
// deletion addressed to the logical name would miss it.
|
|
151
|
+
storeName: record.storeName,
|
|
152
|
+
meta: {
|
|
153
|
+
name: record.name,
|
|
154
|
+
displayName: record.name,
|
|
155
|
+
editable: Boolean(editor) && !(editor instanceof ImmutableEditStrategy),
|
|
156
|
+
scope: owner.value.scope,
|
|
157
|
+
...ragOwnerKeys(owner.value),
|
|
158
|
+
providerName,
|
|
159
|
+
},
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
unregister(name, scope) {
|
|
163
|
+
const found = this.findOrThrow(name, scope);
|
|
164
|
+
if (!found)
|
|
165
|
+
return false;
|
|
166
|
+
this.entries.delete(found.key);
|
|
73
167
|
this.fireMutation();
|
|
168
|
+
return true;
|
|
74
169
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (existed)
|
|
78
|
-
this.fireMutation();
|
|
79
|
-
return existed;
|
|
170
|
+
get(name, scope) {
|
|
171
|
+
return this.findOrThrow(name, scope)?.entry.rag;
|
|
80
172
|
}
|
|
81
|
-
|
|
82
|
-
return this.
|
|
173
|
+
getEditor(name, scope) {
|
|
174
|
+
return this.findOrThrow(name, scope)?.entry.editor;
|
|
83
175
|
}
|
|
84
|
-
|
|
85
|
-
|
|
176
|
+
/**
|
|
177
|
+
* Swap the store handle of an existing entry, keeping everything else — its
|
|
178
|
+
* editor, its provider, its store name and its meta — and tell the mutation
|
|
179
|
+
* listener. For a decorator such as the builder's circuit-breaker
|
|
180
|
+
* FallbackRag: re-registering would set the store name to the logical name
|
|
181
|
+
* and drop the provider, so a hydrated collection's delete would miss its
|
|
182
|
+
* store and its catalog record would come back (§6.3). The scope is
|
|
183
|
+
* required, so the lookup is never ambiguous. False when the entry is
|
|
184
|
+
* absent — including one currently reserved by an in-flight deletion (it is
|
|
185
|
+
* gone from `entries` already); never re-inserts.
|
|
186
|
+
*/
|
|
187
|
+
replaceRag(name, scope, rag) {
|
|
188
|
+
const found = this.findOrThrow(name, scope);
|
|
189
|
+
if (!found)
|
|
190
|
+
return false;
|
|
191
|
+
found.entry.rag = rag;
|
|
192
|
+
this.fireMutation();
|
|
193
|
+
return true;
|
|
86
194
|
}
|
|
87
195
|
list() {
|
|
88
196
|
return Array.from(this.entries.values()).map((e) => e.meta);
|
|
89
197
|
}
|
|
90
198
|
async createCollection(params) {
|
|
199
|
+
// Checked before anything else: an untyped caller's owner without its key
|
|
200
|
+
// would digest to a store every such caller shares (storeNameFor), and
|
|
201
|
+
// attributes JSON would change could not come back as given (§6.3).
|
|
202
|
+
const owner = validateRagOwner(params);
|
|
203
|
+
if (!owner.ok)
|
|
204
|
+
return owner;
|
|
205
|
+
const attributes = validateRagAttributes(params.attributes);
|
|
206
|
+
if (!attributes.ok)
|
|
207
|
+
return attributes;
|
|
208
|
+
const reserved = reservedGlobalNameError(owner.value.scope, params.collectionName);
|
|
209
|
+
if (reserved)
|
|
210
|
+
return { ok: false, error: reserved };
|
|
91
211
|
if (!this.providerRegistry) {
|
|
92
212
|
return {
|
|
93
213
|
ok: false,
|
|
@@ -101,110 +221,155 @@ export class SimpleRagRegistry {
|
|
|
101
221
|
error: new ProviderNotFoundError(params.providerName),
|
|
102
222
|
};
|
|
103
223
|
}
|
|
104
|
-
// Preflight duplicate
|
|
105
|
-
// once would share one store
|
|
106
|
-
|
|
107
|
-
|
|
224
|
+
// Preflight duplicate check, counting creations still running: two at
|
|
225
|
+
// once would share one store.
|
|
226
|
+
const key = keyOf(owner.value.scope, params.collectionName);
|
|
227
|
+
if (this.isTaken(key)) {
|
|
108
228
|
return {
|
|
109
229
|
ok: false,
|
|
110
|
-
error: new
|
|
230
|
+
error: new DuplicateCollectionError(params.collectionName, `the name is taken in scope '${owner.value.scope}'`),
|
|
111
231
|
};
|
|
112
232
|
}
|
|
113
|
-
this.creating.add(
|
|
233
|
+
this.creating.add(key);
|
|
114
234
|
try {
|
|
115
|
-
return await this.createUnder(provider, params);
|
|
235
|
+
return await this.createUnder(provider, key, params, owner.value);
|
|
116
236
|
}
|
|
117
237
|
finally {
|
|
118
|
-
this.creating.delete(
|
|
238
|
+
this.creating.delete(key);
|
|
119
239
|
}
|
|
120
240
|
}
|
|
121
|
-
async createUnder(provider, params) {
|
|
122
|
-
// A provider that keeps stores by name
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
241
|
+
async createUnder(provider, key, params, owner) {
|
|
242
|
+
// A provider that keeps stores by name gets one per owner; see storeNameFor.
|
|
243
|
+
const storeName = storeNameFor({
|
|
244
|
+
collectionName: params.collectionName,
|
|
245
|
+
...owner,
|
|
246
|
+
});
|
|
247
|
+
// The logical name and the attributes go to the provider, because its
|
|
248
|
+
// catalog cannot return what it was never given (§6.3). Passed unread, and
|
|
249
|
+
// only when given, so `'attributes' in opts` reads the caller's intent.
|
|
127
250
|
const created = await provider.createCollection(storeName, {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
251
|
+
...owner,
|
|
252
|
+
collectionName: params.collectionName,
|
|
253
|
+
...(params.attributes !== undefined
|
|
254
|
+
? { attributes: params.attributes }
|
|
255
|
+
: {}),
|
|
256
|
+
...(params.adoptExisting ? { adoptExisting: true } : {}),
|
|
131
257
|
});
|
|
132
258
|
if (!created.ok)
|
|
133
259
|
return created;
|
|
134
|
-
|
|
135
|
-
|
|
260
|
+
// Inserted directly: the key has been held in `creating` since the
|
|
261
|
+
// preflight, so nothing can have taken it, and there is nothing to roll
|
|
262
|
+
// back — a rollback would delete a store whose catalog record the provider
|
|
263
|
+
// has just committed (§6.3).
|
|
264
|
+
const editor = created.value.editor;
|
|
265
|
+
const entry = {
|
|
266
|
+
rag: created.value.rag,
|
|
267
|
+
editor,
|
|
268
|
+
storeName,
|
|
269
|
+
meta: {
|
|
270
|
+
name: params.collectionName,
|
|
136
271
|
displayName: params.displayName ?? params.collectionName,
|
|
137
272
|
description: params.description,
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
273
|
+
editable: Boolean(editor) && !(editor instanceof ImmutableEditStrategy),
|
|
274
|
+
scope: owner.scope,
|
|
275
|
+
...ragOwnerKeys(owner),
|
|
141
276
|
providerName: params.providerName,
|
|
142
277
|
tags: params.tags,
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
// but if register throws anyway (subclass or race), roll the backend back.
|
|
148
|
-
if (provider.deleteCollection) {
|
|
149
|
-
await provider.deleteCollection(storeName).catch(() => { });
|
|
150
|
-
}
|
|
151
|
-
return {
|
|
152
|
-
ok: false,
|
|
153
|
-
error: err instanceof RagError
|
|
154
|
-
? err
|
|
155
|
-
: new RagError(String(err), 'RAG_REGISTER_FAILED'),
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
const registered = this.entries.get(params.collectionName);
|
|
159
|
-
if (!registered) {
|
|
160
|
-
return {
|
|
161
|
-
ok: false,
|
|
162
|
-
error: new RagError(`Collection '${params.collectionName}' vanished after registration`, 'RAG_REGISTER_FAILED'),
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
registered.storeName = storeName;
|
|
166
|
-
return { ok: true, value: registered.meta };
|
|
278
|
+
},
|
|
279
|
+
};
|
|
280
|
+
this.insert(key, entry);
|
|
281
|
+
return { ok: true, value: entry.meta };
|
|
167
282
|
}
|
|
168
283
|
/**
|
|
169
284
|
* Delete a collection.
|
|
170
285
|
*
|
|
171
|
-
* It is unregistered first
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
286
|
+
* It is unregistered first and its key reserved, so nothing reaches it and
|
|
287
|
+
* nothing takes its name while it is being deleted. Then its data goes: a
|
|
288
|
+
* collection a provider created is deleted by that provider's
|
|
289
|
+
* `deleteCollection` (which cannot throw — see deleteData) — which removes
|
|
290
|
+
* its catalog record before its data — or, where the provider has none,
|
|
291
|
+
* emptied through its store's `writer().clearAll()`. A collection
|
|
292
|
+
* registered without a provider is only unregistered. Nothing is retried.
|
|
293
|
+
*
|
|
294
|
+
* On CatalogRecordDeleteError nothing was deleted: record and data are both
|
|
295
|
+
* intact, so the same entry is registered again before the reservation ends,
|
|
296
|
+
* and the same call can be retried in place. Any other failure comes back as
|
|
297
|
+
* the error with the collection unregistered; its data may remain under a
|
|
298
|
+
* store name no other session or user is given (see storeNameFor).
|
|
299
|
+
*
|
|
300
|
+
* The reservation is released — and the entry restored first, if this was a
|
|
301
|
+
* CatalogRecordDeleteError — on every path, including a throwing
|
|
302
|
+
* `mutationListener`: that listener is consumer-injected and its own
|
|
303
|
+
* exception must never pin the key in `deleting` forever, nor skip the
|
|
304
|
+
* restore. Once state is settled, a listener exception is rethrown (so the
|
|
305
|
+
* caller sees it — never silently dropped); the delete's own Result is
|
|
306
|
+
* returned only when notifying succeeded.
|
|
181
307
|
*/
|
|
182
|
-
async deleteCollection(name) {
|
|
183
|
-
const
|
|
184
|
-
if (!
|
|
308
|
+
async deleteCollection(name, scope) {
|
|
309
|
+
const f = this.find(name, scope);
|
|
310
|
+
if (!f.ok)
|
|
311
|
+
return { ok: false, error: f.error };
|
|
312
|
+
if (!f.found) {
|
|
185
313
|
return { ok: false, error: new CollectionNotFoundError(name) };
|
|
186
314
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
315
|
+
const { key, entry } = f.found;
|
|
316
|
+
this.entries.delete(key);
|
|
317
|
+
this.deleting.add(key);
|
|
318
|
+
let notifyFailed = false;
|
|
319
|
+
let notifyError;
|
|
320
|
+
try {
|
|
321
|
+
this.fireMutation();
|
|
322
|
+
}
|
|
323
|
+
catch (err) {
|
|
324
|
+
notifyFailed = true;
|
|
325
|
+
notifyError = err;
|
|
326
|
+
}
|
|
327
|
+
// deleteData never throws (its own try/catch turns everything, including
|
|
328
|
+
// an injected provider registry throwing, into a Result), so this await
|
|
329
|
+
// cannot reject.
|
|
330
|
+
const result = await this.deleteData(name, entry);
|
|
331
|
+
const restoring = !result.ok && result.error instanceof CatalogRecordDeleteError;
|
|
332
|
+
try {
|
|
333
|
+
if (restoring) {
|
|
334
|
+
// Restored while the key is still reserved, so nothing slips in
|
|
335
|
+
// between.
|
|
336
|
+
this.entries.set(key, entry);
|
|
191
337
|
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
|
|
338
|
+
}
|
|
339
|
+
finally {
|
|
340
|
+
// Released on every path — success, any other failure, or a restore —
|
|
341
|
+
// whatever the mutation listener above did.
|
|
342
|
+
this.deleting.delete(key);
|
|
343
|
+
}
|
|
344
|
+
if (restoring) {
|
|
345
|
+
try {
|
|
346
|
+
this.fireMutation();
|
|
347
|
+
}
|
|
348
|
+
catch (err) {
|
|
349
|
+
if (!notifyFailed) {
|
|
350
|
+
notifyFailed = true;
|
|
351
|
+
notifyError = err;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
if (notifyFailed)
|
|
356
|
+
throw notifyError;
|
|
357
|
+
return result;
|
|
195
358
|
}
|
|
196
359
|
async deleteData(name, entry) {
|
|
197
360
|
const providerName = entry.meta.providerName;
|
|
198
361
|
if (!providerName)
|
|
199
362
|
return { ok: true, value: undefined };
|
|
200
|
-
const provider = this.providerRegistry?.getProvider(providerName);
|
|
201
|
-
if (!provider) {
|
|
202
|
-
return {
|
|
203
|
-
ok: false,
|
|
204
|
-
error: new DeleteUnsupportedError(name, `provider '${providerName}' is not registered`),
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
363
|
try {
|
|
364
|
+
// getProvider is an injected registry's call, not ours — it belongs
|
|
365
|
+
// inside this try along with everything else that can throw.
|
|
366
|
+
const provider = this.providerRegistry?.getProvider(providerName);
|
|
367
|
+
if (!provider) {
|
|
368
|
+
return {
|
|
369
|
+
ok: false,
|
|
370
|
+
error: new DeleteUnsupportedError(name, `provider '${providerName}' is not registered`),
|
|
371
|
+
};
|
|
372
|
+
}
|
|
208
373
|
if (provider.deleteCollection) {
|
|
209
374
|
return await provider.deleteCollection(entry.storeName);
|
|
210
375
|
}
|
|
@@ -236,7 +401,7 @@ export class SimpleRagRegistry {
|
|
|
236
401
|
.map((e) => e.meta.name);
|
|
237
402
|
const failures = [];
|
|
238
403
|
for (const name of victims) {
|
|
239
|
-
const res = await this.deleteCollection(name);
|
|
404
|
+
const res = await this.deleteCollection(name, 'session');
|
|
240
405
|
if (!res.ok)
|
|
241
406
|
failures.push({ name, error: res.error });
|
|
242
407
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-rag-registry.js","sourceRoot":"","sources":["../../../src/rag/registry/simple-rag-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simple-rag-registry.js","sourceRoot":"","sources":["../../../src/rag/registry/simple-rag-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { RagCollectionScope } from '../../interfaces/rag.js';
|
|
2
|
+
import { ReservedCollectionNameError } from '../corrections/errors.js';
|
|
3
|
+
/** The refusal for a global named into a reserved prefix, or undefined. */
|
|
4
|
+
export declare function reservedGlobalNameError(scope: RagCollectionScope, name: string): ReservedCollectionNameError | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* The key a collection has in the `ragStores` projection: a global keeps its
|
|
7
|
+
* bare name, so every stage configuration naming one keeps working; a user or
|
|
8
|
+
* session collection is `user/<name>` or `session/<name>`. An absent scope is
|
|
9
|
+
* global, as `register` defaults it.
|
|
10
|
+
*/
|
|
11
|
+
export declare function ragStoreKey(meta: {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly scope?: RagCollectionScope;
|
|
14
|
+
}): string;
|
|
15
|
+
//# sourceMappingURL=store-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-key.d.ts","sourceRoot":"","sources":["../../../src/rag/registry/store-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AASvE,2EAA2E;AAC3E,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,MAAM,GACX,2BAA2B,GAAG,SAAS,CAIzC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CACrC,GAAG,MAAM,CAGT"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReservedCollectionNameError } from '../corrections/errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* The prefixes the `ragStores` projection gives the two owned scopes (§6.4). A
|
|
4
|
+
* global may not begin with one: it would take a key the projection gives
|
|
5
|
+
* another scope, and one entry would silently overwrite the other.
|
|
6
|
+
*/
|
|
7
|
+
const RESERVED_GLOBAL_PREFIXES = ['user/', 'session/'];
|
|
8
|
+
/** The refusal for a global named into a reserved prefix, or undefined. */
|
|
9
|
+
export function reservedGlobalNameError(scope, name) {
|
|
10
|
+
if (scope !== 'global')
|
|
11
|
+
return undefined;
|
|
12
|
+
const prefix = RESERVED_GLOBAL_PREFIXES.find((p) => name.startsWith(p));
|
|
13
|
+
return prefix ? new ReservedCollectionNameError(name, prefix) : undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The key a collection has in the `ragStores` projection: a global keeps its
|
|
17
|
+
* bare name, so every stage configuration naming one keeps working; a user or
|
|
18
|
+
* session collection is `user/<name>` or `session/<name>`. An absent scope is
|
|
19
|
+
* global, as `register` defaults it.
|
|
20
|
+
*/
|
|
21
|
+
export function ragStoreKey(meta) {
|
|
22
|
+
const scope = meta.scope ?? 'global';
|
|
23
|
+
return scope === 'global' ? meta.name : `${scope}/${meta.name}`;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=store-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-key.js","sourceRoot":"","sources":["../../../src/rag/registry/store-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU,CAAC;AAEhE,2EAA2E;AAC3E,MAAM,UAAU,uBAAuB,CACrC,KAAyB,EACzB,IAAY;IAEZ,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAG3B;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;IACrC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;AAClE,CAAC"}
|
|
@@ -15,6 +15,15 @@ export interface IScoredResult {
|
|
|
15
15
|
score: number;
|
|
16
16
|
}
|
|
17
17
|
export interface ISearchContext {
|
|
18
|
+
/**
|
|
19
|
+
* Term statistics over THIS query's candidates only — the records that
|
|
20
|
+
* passed the store's namespace / TTL / session / user filters — never over
|
|
21
|
+
* the whole store: store-wide statistics make one session's ranking depend
|
|
22
|
+
* on (and leak a signal about) another session's records. The built-in
|
|
23
|
+
* strategies do not read it; they compute the same statistics from the
|
|
24
|
+
* `candidates` they are given, so they are scoped whatever a caller passes.
|
|
25
|
+
* Kept for custom strategies.
|
|
26
|
+
*/
|
|
18
27
|
index: InvertedIndex;
|
|
19
28
|
tokenize: (s: string) => string[];
|
|
20
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-strategy.d.ts","sourceRoot":"","sources":["../../src/rag/search-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,CACH,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE,cAAc,GACtB,aAAa,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"search-strategy.d.ts","sourceRoot":"","sources":["../../src/rag/search-strategy.ts"],"names":[],"mappings":"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"}
|