@mcp-abap-adt/llm-agent-libs 19.1.2 → 19.2.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/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/rag/knowledge-rag.d.ts +28 -8
- package/dist/rag/knowledge-rag.d.ts.map +1 -1
- package/dist/rag/knowledge-rag.js +42 -8
- package/dist/rag/knowledge-rag.js.map +1 -1
- package/dist/skills/plugin-host/chunker.d.ts +17 -0
- package/dist/skills/plugin-host/chunker.d.ts.map +1 -0
- package/dist/skills/plugin-host/chunker.js +72 -0
- package/dist/skills/plugin-host/chunker.js.map +1 -0
- package/dist/skills/plugin-host/chunker.test.d.ts +2 -0
- package/dist/skills/plugin-host/chunker.test.d.ts.map +1 -0
- package/dist/skills/plugin-host/chunker.test.js +31 -0
- package/dist/skills/plugin-host/chunker.test.js.map +1 -0
- package/dist/skills/plugin-host/compatible-skills-rag.d.ts +14 -0
- package/dist/skills/plugin-host/compatible-skills-rag.d.ts.map +1 -0
- package/dist/skills/plugin-host/compatible-skills-rag.js +83 -0
- package/dist/skills/plugin-host/compatible-skills-rag.js.map +1 -0
- package/dist/skills/plugin-host/compatible-skills-rag.test.d.ts +2 -0
- package/dist/skills/plugin-host/compatible-skills-rag.test.d.ts.map +1 -0
- package/dist/skills/plugin-host/compatible-skills-rag.test.js +174 -0
- package/dist/skills/plugin-host/compatible-skills-rag.test.js.map +1 -0
- package/dist/skills/plugin-host/http-marketplace-source.d.ts +46 -0
- package/dist/skills/plugin-host/http-marketplace-source.d.ts.map +1 -0
- package/dist/skills/plugin-host/http-marketplace-source.js +67 -0
- package/dist/skills/plugin-host/http-marketplace-source.js.map +1 -0
- package/dist/skills/plugin-host/http-marketplace-source.test.d.ts +2 -0
- package/dist/skills/plugin-host/http-marketplace-source.test.d.ts.map +1 -0
- package/dist/skills/plugin-host/http-marketplace-source.test.js +71 -0
- package/dist/skills/plugin-host/http-marketplace-source.test.js.map +1 -0
- package/dist/skills/plugin-host/in-memory-store.d.ts +15 -0
- package/dist/skills/plugin-host/in-memory-store.d.ts.map +1 -0
- package/dist/skills/plugin-host/in-memory-store.js +151 -0
- package/dist/skills/plugin-host/in-memory-store.js.map +1 -0
- package/dist/skills/plugin-host/in-memory-store.test.d.ts +2 -0
- package/dist/skills/plugin-host/in-memory-store.test.d.ts.map +1 -0
- package/dist/skills/plugin-host/in-memory-store.test.js +100 -0
- package/dist/skills/plugin-host/in-memory-store.test.js.map +1 -0
- package/dist/skills/plugin-host/index.d.ts +10 -0
- package/dist/skills/plugin-host/index.d.ts.map +1 -0
- package/dist/skills/plugin-host/index.js +12 -0
- package/dist/skills/plugin-host/index.js.map +1 -0
- package/dist/skills/plugin-host/marketplace-adapter.d.ts +23 -0
- package/dist/skills/plugin-host/marketplace-adapter.d.ts.map +1 -0
- package/dist/skills/plugin-host/marketplace-adapter.js +32 -0
- package/dist/skills/plugin-host/marketplace-adapter.js.map +1 -0
- package/dist/skills/plugin-host/marketplace-adapter.test.d.ts +2 -0
- package/dist/skills/plugin-host/marketplace-adapter.test.d.ts.map +1 -0
- package/dist/skills/plugin-host/marketplace-adapter.test.js +46 -0
- package/dist/skills/plugin-host/marketplace-adapter.test.js.map +1 -0
- package/dist/skills/plugin-host/qdrant-store.d.ts +85 -0
- package/dist/skills/plugin-host/qdrant-store.d.ts.map +1 -0
- package/dist/skills/plugin-host/qdrant-store.js +542 -0
- package/dist/skills/plugin-host/qdrant-store.js.map +1 -0
- package/dist/skills/plugin-host/qdrant-store.test.d.ts +2 -0
- package/dist/skills/plugin-host/qdrant-store.test.d.ts.map +1 -0
- package/dist/skills/plugin-host/qdrant-store.test.js +396 -0
- package/dist/skills/plugin-host/qdrant-store.test.js.map +1 -0
- package/dist/skills/plugin-host/skill-plugin-host.d.ts +41 -0
- package/dist/skills/plugin-host/skill-plugin-host.d.ts.map +1 -0
- package/dist/skills/plugin-host/skill-plugin-host.ingest.test.d.ts +2 -0
- package/dist/skills/plugin-host/skill-plugin-host.ingest.test.d.ts.map +1 -0
- package/dist/skills/plugin-host/skill-plugin-host.ingest.test.js +520 -0
- package/dist/skills/plugin-host/skill-plugin-host.ingest.test.js.map +1 -0
- package/dist/skills/plugin-host/skill-plugin-host.js +367 -0
- package/dist/skills/plugin-host/skill-plugin-host.js.map +1 -0
- package/dist/skills/plugin-host/skill-plugin-host.recall-and-reload.test.d.ts +2 -0
- package/dist/skills/plugin-host/skill-plugin-host.recall-and-reload.test.d.ts.map +1 -0
- package/dist/skills/plugin-host/skill-plugin-host.recall-and-reload.test.js +328 -0
- package/dist/skills/plugin-host/skill-plugin-host.recall-and-reload.test.js.map +1 -0
- package/dist/skills/plugin-host/skills-rag-source.d.ts +17 -0
- package/dist/skills/plugin-host/skills-rag-source.d.ts.map +1 -0
- package/dist/skills/plugin-host/skills-rag-source.js +52 -0
- package/dist/skills/plugin-host/skills-rag-source.js.map +1 -0
- package/dist/skills/plugin-host/skills-rag-source.test.d.ts +2 -0
- package/dist/skills/plugin-host/skills-rag-source.test.d.ts.map +1 -0
- package/dist/skills/plugin-host/skills-rag-source.test.js +69 -0
- package/dist/skills/plugin-host/skills-rag-source.test.js.map +1 -0
- package/dist/skills/plugin-host/source-strategies.d.ts +20 -0
- package/dist/skills/plugin-host/source-strategies.d.ts.map +1 -0
- package/dist/skills/plugin-host/source-strategies.js +37 -0
- package/dist/skills/plugin-host/source-strategies.js.map +1 -0
- package/dist/skills/plugin-host/source-strategies.test.d.ts +2 -0
- package/dist/skills/plugin-host/source-strategies.test.d.ts.map +1 -0
- package/dist/skills/plugin-host/source-strategies.test.js +52 -0
- package/dist/skills/plugin-host/source-strategies.test.js.map +1 -0
- package/package.json +14 -14
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { CatalogCasError } from '@mcp-abap-adt/llm-agent'; // value (class), not a type
|
|
2
|
+
import { makeCompatibleSkillsRag } from './compatible-skills-rag.js';
|
|
3
|
+
function isRecallDeps(deps) {
|
|
4
|
+
return 'backendProvider' in deps;
|
|
5
|
+
}
|
|
6
|
+
function setEq(a, b) {
|
|
7
|
+
if (a.size !== b.size)
|
|
8
|
+
return false;
|
|
9
|
+
for (const x of a)
|
|
10
|
+
if (!b.has(x))
|
|
11
|
+
return false;
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
export function makeSkillPluginHost(deps) {
|
|
15
|
+
if (isRecallDeps(deps))
|
|
16
|
+
return makeRecallOnlyHost(deps);
|
|
17
|
+
return makeIngestHost(deps);
|
|
18
|
+
}
|
|
19
|
+
/** RECALL-ONLY host: reads the persisted catalog for `groups()`, validates serveCollections,
|
|
20
|
+
* eager compat-checks each served collection, and serves via the SAME compat wrapper over
|
|
21
|
+
* the read-only backend. It opens no generation and writes nothing. */
|
|
22
|
+
function makeRecallOnlyHost(deps) {
|
|
23
|
+
const resolvedDimension = deps.dimension;
|
|
24
|
+
let _snapshot = [];
|
|
25
|
+
// Memoise the per-group compat wrapper so repeated rag(g) calls return the SAME
|
|
26
|
+
// handle — preserving its lazy dimension probe AND per-revision compatibility
|
|
27
|
+
// verdict cache. Safe across catalog rotations: the wrapper reads activeSnapshot()
|
|
28
|
+
// fresh per query, its verdict cache is keyed by revision, and the dimension is
|
|
29
|
+
// embedder-stable.
|
|
30
|
+
const ragCache = new Map();
|
|
31
|
+
function rag(group) {
|
|
32
|
+
let resolved = group;
|
|
33
|
+
if (resolved === undefined) {
|
|
34
|
+
if (_snapshot.length === 1) {
|
|
35
|
+
resolved = _snapshot[0].group;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
throw new Error('rag(): must name the group (no unique default)');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// A group with no active generation simply serves nothing (the compat wrapper returns
|
|
42
|
+
// [] on a null activeSnapshot) — no throw for an unknown/inactive group.
|
|
43
|
+
if (!ragCache.has(resolved)) {
|
|
44
|
+
ragCache.set(resolved, makeCompatibleSkillsRag({
|
|
45
|
+
backend: deps.backendProvider.forGroup(resolved),
|
|
46
|
+
embedder: deps.embedder,
|
|
47
|
+
embeddingSpaceId: deps.embeddingSpaceId,
|
|
48
|
+
retrievalSchemaVersion: deps.retrievalSchemaVersion,
|
|
49
|
+
dimension: resolvedDimension,
|
|
50
|
+
recallTimeoutMs: deps.recallTimeoutMs,
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
// biome-ignore lint/style/noNonNullAssertion: set immediately above when absent
|
|
54
|
+
return ragCache.get(resolved);
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
async load(options) {
|
|
58
|
+
const cat = await deps.backendProvider.readCatalog(options);
|
|
59
|
+
// The FULL available set — every non-tombstoned collection in the catalog.
|
|
60
|
+
const allGroups = cat.entries.filter((e) => !e.tombstone);
|
|
61
|
+
// Validate every EXPLICITLY-named served collection exists in the persisted
|
|
62
|
+
// catalog (config error). When omitted, the served set is derived from the
|
|
63
|
+
// catalog and trivially exists.
|
|
64
|
+
if (deps.serveCollections) {
|
|
65
|
+
for (const g of deps.serveCollections) {
|
|
66
|
+
if (!cat.entries.some((e) => e.collection.group === g)) {
|
|
67
|
+
throw new Error(`serveCollections names a collection absent from the catalog: ${g}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// The SERVED set (assembler subset) — explicit serveCollections or, when
|
|
72
|
+
// omitted, the whole catalog.
|
|
73
|
+
const served = deps.serveCollections ?? allGroups.map((e) => e.collection.group);
|
|
74
|
+
// groups() exposes the FULL catalog (NOT just the served subset): the
|
|
75
|
+
// controller recall channel (controllerSkillGroup) and the assembler channel
|
|
76
|
+
// (serveCollections) are independent and each validate against the full set.
|
|
77
|
+
// host.rag(anyCatalogGroup) already resolves from the catalog via
|
|
78
|
+
// backendProvider.forGroup, so serving any available group is correct; the
|
|
79
|
+
// assembler still narrows to serveCollections downstream.
|
|
80
|
+
_snapshot = allGroups.map((e) => e.collection);
|
|
81
|
+
// EAGER fail-fast: probe + compat-check the SERVED set's active generations
|
|
82
|
+
// (don't force-probe the whole catalog when a subset is served — a controller
|
|
83
|
+
// group outside the served set is probed lazily at first recall).
|
|
84
|
+
// SkillsIncompatibleError propagates (recall-only load aborts on incompatibility).
|
|
85
|
+
for (const g of served) {
|
|
86
|
+
await rag(g).activeManifest(options);
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
committed: [...served],
|
|
90
|
+
omitted: [],
|
|
91
|
+
tombstoned: [],
|
|
92
|
+
ok: true,
|
|
93
|
+
};
|
|
94
|
+
},
|
|
95
|
+
groups() {
|
|
96
|
+
return _snapshot;
|
|
97
|
+
},
|
|
98
|
+
rag,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function makeIngestHost(deps) {
|
|
102
|
+
const maxAttempts = deps.catalogCasMaxAttempts ?? 3;
|
|
103
|
+
const servingMode = deps.servingMode ?? true;
|
|
104
|
+
const now = deps.now ?? Date.now;
|
|
105
|
+
// Internal host state (closure vars, not deps).
|
|
106
|
+
let _snapshot = [];
|
|
107
|
+
let _registeredSet;
|
|
108
|
+
let _pendingReclaim = { generations: [], tombstonedGroups: [] };
|
|
109
|
+
// Memoise the per-group compat wrapper so repeated rag(g) calls return the SAME
|
|
110
|
+
// handle — preserving its lazy dimension probe AND per-revision compatibility
|
|
111
|
+
// verdict cache. Safe across catalog rotations: the wrapper reads activeSnapshot()
|
|
112
|
+
// fresh per query, its verdict cache is keyed by revision, and the dimension is
|
|
113
|
+
// embedder-stable (the wrapper self-probes once if dimension is still unresolved).
|
|
114
|
+
const ragCache = new Map();
|
|
115
|
+
// Resolved once before the first build so every manifest is complete.
|
|
116
|
+
let resolvedDimension = deps.dimension;
|
|
117
|
+
async function ensureDimension(options) {
|
|
118
|
+
if (resolvedDimension === undefined) {
|
|
119
|
+
const probe = await deps.embedder.embed('dimension probe', options);
|
|
120
|
+
resolvedDimension = probe.vector.length;
|
|
121
|
+
}
|
|
122
|
+
return resolvedDimension;
|
|
123
|
+
}
|
|
124
|
+
/** Merge one collection descriptor into the desired map; conflicting descriptions throw. */
|
|
125
|
+
function mergeCollection(desired, c, sourceId) {
|
|
126
|
+
const existing = desired.get(c.group);
|
|
127
|
+
if (existing) {
|
|
128
|
+
if (existing.info.description !== c.description) {
|
|
129
|
+
throw new Error(`conflicting descriptions for collection '${c.group}': ` +
|
|
130
|
+
`'${existing.info.description}' (from ${[...existing.sources].join(',')}) ` +
|
|
131
|
+
`vs '${c.description}' (from ${sourceId})`);
|
|
132
|
+
}
|
|
133
|
+
existing.sources.add(sourceId);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
desired.set(c.group, {
|
|
137
|
+
info: c,
|
|
138
|
+
sources: new Set([sourceId]),
|
|
139
|
+
records: [],
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
async function attempt(manifest, options) {
|
|
144
|
+
const prior = await deps.storeProvider.readCatalog(options);
|
|
145
|
+
const results = await Promise.allSettled(deps.sources.map((s) => s.source.acquire(options)));
|
|
146
|
+
const desired = new Map();
|
|
147
|
+
const failedSourceIds = [];
|
|
148
|
+
for (let i = 0; i < deps.sources.length; i++) {
|
|
149
|
+
const { id } = deps.sources[i];
|
|
150
|
+
const r = results[i];
|
|
151
|
+
if (r.status === 'rejected') {
|
|
152
|
+
failedSourceIds.push(id);
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
const value = r.value;
|
|
156
|
+
const declaredGroups = new Set(value.collections.map((c) => c.group));
|
|
157
|
+
for (const c of value.collections)
|
|
158
|
+
mergeCollection(desired, c, id);
|
|
159
|
+
for (const record of value.records) {
|
|
160
|
+
if (!declaredGroups.has(record.group)) {
|
|
161
|
+
throw new Error(`source '${id}' record '${record.id}' targets undeclared group '${record.group}'`);
|
|
162
|
+
}
|
|
163
|
+
const dc = desired.get(record.group);
|
|
164
|
+
// mergeCollection guarantees the entry exists (group is declared).
|
|
165
|
+
dc.records.push(record);
|
|
166
|
+
dc.sources.add(id);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// strict:true → any source failure aborts before any commit.
|
|
170
|
+
if (deps.strict && failedSourceIds.length) {
|
|
171
|
+
throw new Error(`strict ingest: source(s) failed: ${failedSourceIds.join(', ')}`);
|
|
172
|
+
}
|
|
173
|
+
// Carry-forward (strict:false): for each prior entry partly owned by a failed source,
|
|
174
|
+
// re-add its collection to desired and mark the failed sourceIds for carryForward.
|
|
175
|
+
const failedSet = new Set(failedSourceIds);
|
|
176
|
+
// group -> sourceIds (owned by a failed source) to carry forward
|
|
177
|
+
const carryForwardByGroup = new Map();
|
|
178
|
+
for (const e of prior.entries) {
|
|
179
|
+
if (e.tombstone)
|
|
180
|
+
continue;
|
|
181
|
+
const failedOwners = e.sources.filter((s) => failedSet.has(s));
|
|
182
|
+
if (!failedOwners.length)
|
|
183
|
+
continue;
|
|
184
|
+
const group = e.collection.group;
|
|
185
|
+
carryForwardByGroup.set(group, [
|
|
186
|
+
...(carryForwardByGroup.get(group) ?? []),
|
|
187
|
+
...failedOwners,
|
|
188
|
+
]);
|
|
189
|
+
if (!desired.has(group)) {
|
|
190
|
+
desired.set(group, {
|
|
191
|
+
info: e.collection,
|
|
192
|
+
sources: new Set(e.sources),
|
|
193
|
+
records: [],
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
// keep ownership of the carried (failed) sources on the entry
|
|
198
|
+
const dc = desired.get(group);
|
|
199
|
+
for (const s of e.sources)
|
|
200
|
+
dc.sources.add(s);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const desiredSet = new Set(desired.keys());
|
|
204
|
+
// SERVING-HOST guard (re-checked on each attempt) — only on a reload.
|
|
205
|
+
if (servingMode && _registeredSet) {
|
|
206
|
+
const activePriorSet = new Set(prior.entries
|
|
207
|
+
.filter((e) => !e.tombstone)
|
|
208
|
+
.map((e) => e.collection.group));
|
|
209
|
+
if (!setEq(activePriorSet, _registeredSet) ||
|
|
210
|
+
!setEq(desiredSet, _registeredSet)) {
|
|
211
|
+
throw new Error('served collection set changed since first load (reload guard)');
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
const built = [];
|
|
215
|
+
const omitted = [];
|
|
216
|
+
let committed = false;
|
|
217
|
+
let committedGenerations = new Set();
|
|
218
|
+
try {
|
|
219
|
+
const entries = [];
|
|
220
|
+
for (const group of desiredSet) {
|
|
221
|
+
const dc = desired.get(group);
|
|
222
|
+
const store = deps.storeProvider.forGroup(group);
|
|
223
|
+
try {
|
|
224
|
+
const { generation } = await store.beginGeneration();
|
|
225
|
+
built.push({ group, generation });
|
|
226
|
+
await store.upsert(generation, dc.records, options);
|
|
227
|
+
const cf = carryForwardByGroup.get(group);
|
|
228
|
+
if (cf?.length)
|
|
229
|
+
await store.carryForward(generation, cf);
|
|
230
|
+
entries.push({
|
|
231
|
+
collection: dc.info,
|
|
232
|
+
sources: [...dc.sources],
|
|
233
|
+
generation,
|
|
234
|
+
manifest,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
catch (buildErr) {
|
|
238
|
+
const priorGen = prior.entries.find((e) => e.collection.group === group && !e.tombstone);
|
|
239
|
+
if (priorGen) {
|
|
240
|
+
entries.push({ ...priorGen }); // keep the prior pointer
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
omitted.push({ group, reason: String(buildErr) }); // OMIT, no prior
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
// Tombstone prior active collections not in desiredSet.
|
|
248
|
+
for (const e of prior.entries) {
|
|
249
|
+
if (e.tombstone)
|
|
250
|
+
continue;
|
|
251
|
+
if (!desiredSet.has(e.collection.group)) {
|
|
252
|
+
entries.push({ ...e, tombstone: true });
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
const snap = await deps.storeProvider.publishCatalog(prior.catalogRevision, entries, options); // CAS commit — the ONLY activation
|
|
256
|
+
committed = true;
|
|
257
|
+
committedGenerations = new Set(entries.filter((e) => !e.tombstone).map((e) => e.generation));
|
|
258
|
+
// Cache the fixed groups() snapshot; register the set on the first load.
|
|
259
|
+
_snapshot = snap.entries
|
|
260
|
+
.filter((e) => !e.tombstone)
|
|
261
|
+
.map((e) => e.collection);
|
|
262
|
+
_registeredSet ??= new Set(_snapshot.map((c) => c.group));
|
|
263
|
+
// SCHEDULE (not now — deferred reclaim) the superseded prior generations
|
|
264
|
+
// + tombstoned groups for reclaim at the NEXT load.
|
|
265
|
+
_pendingReclaim = {
|
|
266
|
+
generations: prior.entries
|
|
267
|
+
.filter((e) => !committedGenerations.has(e.generation))
|
|
268
|
+
.map((e) => ({
|
|
269
|
+
group: e.collection.group,
|
|
270
|
+
generation: e.generation,
|
|
271
|
+
})),
|
|
272
|
+
tombstonedGroups: entries
|
|
273
|
+
.filter((e) => e.tombstone)
|
|
274
|
+
.map((e) => e.collection.group),
|
|
275
|
+
};
|
|
276
|
+
return {
|
|
277
|
+
committed: entries
|
|
278
|
+
.filter((e) => !e.tombstone)
|
|
279
|
+
.map((e) => e.collection.group),
|
|
280
|
+
omitted,
|
|
281
|
+
tombstoned: entries
|
|
282
|
+
.filter((e) => e.tombstone)
|
|
283
|
+
.map((e) => e.collection.group),
|
|
284
|
+
ok: omitted.length === 0,
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
finally {
|
|
288
|
+
// ORPHAN CLEANUP — keyed on the COMMITTED catalog, not on !committed.
|
|
289
|
+
// Discard every generation this attempt built that the committed catalog does
|
|
290
|
+
// NOT name: covers a lost CAS / error / strict abort (committed===false → all
|
|
291
|
+
// built discarded) AND a successful partial commit where a collection fell back
|
|
292
|
+
// to a prior pointer or was omitted. discardGeneration is a no-op for a named gen.
|
|
293
|
+
for (const b of built) {
|
|
294
|
+
if (!committed || !committedGenerations.has(b.generation)) {
|
|
295
|
+
await deps.storeProvider
|
|
296
|
+
.forGroup(b.group)
|
|
297
|
+
.discardGeneration(b.generation);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return {
|
|
303
|
+
async load(options) {
|
|
304
|
+
// RECLAIM at the START of every load. Two disciplines by backend.
|
|
305
|
+
if (deps.storeProvider.sweep) {
|
|
306
|
+
await deps.storeProvider.sweep(now(), options);
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
for (const g of _pendingReclaim.generations) {
|
|
310
|
+
await deps.storeProvider
|
|
311
|
+
.forGroup(g.group)
|
|
312
|
+
.discardGeneration(g.generation);
|
|
313
|
+
}
|
|
314
|
+
for (const grp of _pendingReclaim.tombstonedGroups) {
|
|
315
|
+
await deps.storeProvider.dropCollection(grp, options);
|
|
316
|
+
}
|
|
317
|
+
_pendingReclaim = { generations: [], tombstonedGroups: [] };
|
|
318
|
+
}
|
|
319
|
+
const manifest = {
|
|
320
|
+
embeddingSpaceId: deps.embeddingSpaceId,
|
|
321
|
+
dimension: await ensureDimension(options),
|
|
322
|
+
retrievalSchemaVersion: deps.retrievalSchemaVersion,
|
|
323
|
+
};
|
|
324
|
+
for (let attemptNo = 1; attemptNo <= maxAttempts; attemptNo++) {
|
|
325
|
+
try {
|
|
326
|
+
return await attempt(manifest, options);
|
|
327
|
+
}
|
|
328
|
+
catch (e) {
|
|
329
|
+
if (e instanceof CatalogCasError)
|
|
330
|
+
continue; // built gens already discarded by finally
|
|
331
|
+
throw e;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
throw new CatalogCasError('catalog CAS retries exhausted');
|
|
335
|
+
},
|
|
336
|
+
groups() {
|
|
337
|
+
return _snapshot;
|
|
338
|
+
},
|
|
339
|
+
rag(group) {
|
|
340
|
+
let resolved = group;
|
|
341
|
+
if (resolved === undefined) {
|
|
342
|
+
if (_snapshot.length === 1) {
|
|
343
|
+
resolved = _snapshot[0].group;
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
throw new Error('rag(): must name the group (no unique default)');
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
// A named group always yields a handle over its backend. A group that is not in
|
|
350
|
+
// the active snapshot (omitted / tombstoned / never built) simply has no active
|
|
351
|
+
// generation, so the compat wrapper serves nothing — no need to throw here.
|
|
352
|
+
if (!ragCache.has(resolved)) {
|
|
353
|
+
ragCache.set(resolved, makeCompatibleSkillsRag({
|
|
354
|
+
backend: deps.storeProvider.forGroup(resolved),
|
|
355
|
+
embedder: deps.embedder,
|
|
356
|
+
embeddingSpaceId: deps.embeddingSpaceId,
|
|
357
|
+
retrievalSchemaVersion: deps.retrievalSchemaVersion,
|
|
358
|
+
dimension: resolvedDimension,
|
|
359
|
+
recallTimeoutMs: deps.recallTimeoutMs,
|
|
360
|
+
}));
|
|
361
|
+
}
|
|
362
|
+
// biome-ignore lint/style/noNonNullAssertion: set immediately above when absent
|
|
363
|
+
return ragCache.get(resolved);
|
|
364
|
+
},
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
//# sourceMappingURL=skill-plugin-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-plugin-host.js","sourceRoot":"","sources":["../../../src/skills/plugin-host/skill-plugin-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-plugin-host.recall-and-reload.test.d.ts","sourceRoot":"","sources":["../../../src/skills/plugin-host/skill-plugin-host.recall-and-reload.test.ts"],"names":[],"mappings":""}
|