@mcp-abap-adt/llm-agent 24.1.0 → 26.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.
Files changed (34) hide show
  1. package/dist/interfaces/agent-contracts.d.ts +12 -0
  2. package/dist/interfaces/agent-contracts.d.ts.map +1 -1
  3. package/dist/interfaces/failure-strategy.d.ts +95 -0
  4. package/dist/interfaces/failure-strategy.d.ts.map +1 -0
  5. package/dist/interfaces/failure-strategy.js +96 -0
  6. package/dist/interfaces/failure-strategy.js.map +1 -0
  7. package/dist/interfaces/mcp-connection-strategy.d.ts +3 -2
  8. package/dist/interfaces/mcp-connection-strategy.d.ts.map +1 -1
  9. package/dist/interfaces/rag.d.ts +9 -2
  10. package/dist/interfaces/rag.d.ts.map +1 -1
  11. package/dist/rag/corrections/errors.d.ts +22 -0
  12. package/dist/rag/corrections/errors.d.ts.map +1 -1
  13. package/dist/rag/corrections/errors.js +25 -0
  14. package/dist/rag/corrections/errors.js.map +1 -1
  15. package/dist/rag/mcp-tools/rag-collection-tools.d.ts.map +1 -1
  16. package/dist/rag/mcp-tools/rag-collection-tools.js +12 -1
  17. package/dist/rag/mcp-tools/rag-collection-tools.js.map +1 -1
  18. package/dist/rag/providers/in-memory-rag-provider.d.ts +7 -1
  19. package/dist/rag/providers/in-memory-rag-provider.d.ts.map +1 -1
  20. package/dist/rag/providers/in-memory-rag-provider.js +2 -1
  21. package/dist/rag/providers/in-memory-rag-provider.js.map +1 -1
  22. package/dist/rag/providers/vector-rag-provider.d.ts +7 -1
  23. package/dist/rag/providers/vector-rag-provider.d.ts.map +1 -1
  24. package/dist/rag/providers/vector-rag-provider.js +2 -1
  25. package/dist/rag/providers/vector-rag-provider.js.map +1 -1
  26. package/dist/rag/registry/simple-rag-registry.d.ts +31 -0
  27. package/dist/rag/registry/simple-rag-registry.d.ts.map +1 -1
  28. package/dist/rag/registry/simple-rag-registry.js +123 -14
  29. package/dist/rag/registry/simple-rag-registry.js.map +1 -1
  30. package/dist/resilience/status.d.ts +29 -0
  31. package/dist/resilience/status.d.ts.map +1 -0
  32. package/dist/resilience/status.js +51 -0
  33. package/dist/resilience/status.js.map +1 -0
  34. package/package.json +1 -1
@@ -44,6 +44,12 @@ export interface BaseAgentLlmBridge {
44
44
  maxTokens?: number;
45
45
  topP?: number;
46
46
  stop?: string[];
47
+ /**
48
+ * The caller's deadline. Carried all the way to the provider's SDK call,
49
+ * which is the only place it can actually stop anything: an adapter that
50
+ * merely stops waiting leaves the request running with nobody holding it.
51
+ */
52
+ signal?: AbortSignal;
47
53
  }): Promise<{
48
54
  content: string;
49
55
  raw?: unknown;
@@ -53,6 +59,12 @@ export interface BaseAgentLlmBridge {
53
59
  maxTokens?: number;
54
60
  topP?: number;
55
61
  stop?: string[];
62
+ /**
63
+ * The caller's deadline. Carried all the way to the provider's SDK call,
64
+ * which is the only place it can actually stop anything: an adapter that
65
+ * merely stops waiting leaves the request running with nobody holding it.
66
+ */
67
+ signal?: AbortSignal;
56
68
  }): AsyncGenerator<{
57
69
  content: string;
58
70
  raw?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-contracts.d.ts","sourceRoot":"","sources":["../../src/interfaces/agent-contracts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAuB;CAIzD;AAED,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,qEAAqE;IACrE,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC,CAAC;IACH,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;KAC1C,CAAC;CACH;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B;;;qEAGiE;IACjE,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAMD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,CACX,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,GACA,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC/C,eAAe,CACb,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,GACA,cAAc,CACf;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,gBAAgB,EACrD,IAAI,EACJ,OAAO,CACR,CAAC;CACH"}
1
+ {"version":3,"file":"agent-contracts.d.ts","sourceRoot":"","sources":["../../src/interfaces/agent-contracts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAuB;CAIzD;AAED,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,qEAAqE;IACrE,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC,CAAC;IACH,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;KAC1C,CAAC;CACH;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B;;;qEAGiE;IACjE,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAMD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,CACX,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB;;;;WAIG;QACH,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC/C,eAAe,CACb,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB;;;;WAIG;QACH,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,cAAc,CACf;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,gBAAgB,EACrD,IAAI,EACJ,OAAO,CACR,CAAC;CACH"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * What a provider does when a call fails for a reason nobody named an interval
3
+ * for: a `500`, a `502`, a dropped connection, a socket that answers nothing.
4
+ *
5
+ * The sibling of `IThrottleStrategy`, and deliberately not the same seam.
6
+ * Throttling is the SERVER governing the pace: it returns `429`, it names a
7
+ * delay in `Retry-After`, and the only honest thing to do is observe that
8
+ * delay or report it. Here nobody names anything. A `502` says the request
9
+ * failed; it says nothing at all about when the next one might work.
10
+ *
11
+ * So any waiting here rests on a number, and this library has none to give.
12
+ * How long to wait, and how many times, depends on who is waiting at the other
13
+ * end — a batch job and a caller on a sixty-second connection want opposite
14
+ * things, and the difference is invisible from in here. The consumer decides,
15
+ * the same way it decides about throttling.
16
+ *
17
+ * Two ship:
18
+ *
19
+ * - `ReportFailure` — never waits. The failure goes up as it arrived, and the
20
+ * caller decides. This is what happens when nothing is configured.
21
+ * - `RetryWithBackoff` — the classic policy, with its numbers named by whoever
22
+ * constructs it rather than defaulted in here.
23
+ */
24
+ /** What the transport said, for a strategy to decide on. */
25
+ export interface FailureContext {
26
+ /** HTTP status, when the failure carried one. */
27
+ status?: number;
28
+ /** Which attempt just failed. 1-based. */
29
+ attempt: number;
30
+ /** How long this call has already spent waiting between attempts. */
31
+ waitedMs: number;
32
+ /** Whether anything was already streamed to the caller before the failure. */
33
+ midStream: boolean;
34
+ /** The failure itself, for a strategy that needs to look closer. */
35
+ error: unknown;
36
+ }
37
+ /** Wait this long, then either try again or give up. */
38
+ export interface FailureDecision {
39
+ waitMs: number;
40
+ retry: boolean;
41
+ /** Why, for the log and for the error the caller finally sees. */
42
+ reason?: string;
43
+ }
44
+ export interface IFailureStrategy {
45
+ readonly name: string;
46
+ decide(ctx: FailureContext): FailureDecision;
47
+ }
48
+ /**
49
+ * Never retry. What happens when nothing is configured.
50
+ *
51
+ * The failure goes up untouched, and the caller — who knows whether anyone is
52
+ * waiting on the other end, and whether the work is worth repeating — decides
53
+ * whether to ask again.
54
+ */
55
+ export declare class ReportFailure implements IFailureStrategy {
56
+ readonly name = "report-failure";
57
+ decide(): FailureDecision;
58
+ }
59
+ /**
60
+ * Try again a fixed number of times, doubling the wait each time.
61
+ *
62
+ * The policy this library used to install on everyone by default. It still
63
+ * ships, because it is a reasonable thing to want; what changed is that its
64
+ * numbers now belong to whoever writes them down. There are no defaults here
65
+ * on purpose — a default would be this library guessing again, one layer in.
66
+ *
67
+ * `statuses` is the set worth repeating. A `500` or `502` is usually the
68
+ * provider having a bad second; a `400` is the request itself, and repeating
69
+ * it just fails again more slowly. A failure carrying no status is not
70
+ * retried: without one there is nothing to tell a blip from a bug.
71
+ *
72
+ * `midStreamHints` opts into the harder case — a stream that failed after it
73
+ * had already yielded. Retrying that replays the whole stream, so it happens
74
+ * only for failures whose message matches one of these, and never by default.
75
+ */
76
+ export declare class RetryWithBackoff implements IFailureStrategy {
77
+ readonly name = "retry-with-backoff";
78
+ private readonly attempts;
79
+ private readonly firstWaitMs;
80
+ private readonly statuses;
81
+ private readonly midStreamHints;
82
+ constructor(options: {
83
+ /** How many times to try again after the first failure. */
84
+ attempts: number;
85
+ /** The first wait. Each subsequent one doubles it. */
86
+ firstWaitMs: number;
87
+ /** Statuses worth repeating. */
88
+ statuses: readonly number[];
89
+ /** Message fragments that make a mid-stream failure worth replaying. */
90
+ midStreamHints?: readonly string[];
91
+ });
92
+ decide({ status, attempt, midStream, error, }: FailureContext): FailureDecision;
93
+ private matchesHint;
94
+ }
95
+ //# sourceMappingURL=failure-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-strategy.d.ts","sourceRoot":"","sources":["../../src/interfaces/failure-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,gBAAgB;IACpD,QAAQ,CAAC,IAAI,oBAAoB;IAEjC,MAAM,IAAI,eAAe;CAG1B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,QAAQ,CAAC,IAAI,wBAAwB;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;gBAEvC,OAAO,EAAE;QACnB,2DAA2D;QAC3D,QAAQ,EAAE,MAAM,CAAC;QACjB,sDAAsD;QACtD,WAAW,EAAE,MAAM,CAAC;QACpB,gCAAgC;QAChC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAC5B,wEAAwE;QACxE,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC;IAOD,MAAM,CAAC,EACL,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,cAAc,GAAG,eAAe;IAuBnC,OAAO,CAAC,WAAW;CAKpB"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * What a provider does when a call fails for a reason nobody named an interval
3
+ * for: a `500`, a `502`, a dropped connection, a socket that answers nothing.
4
+ *
5
+ * The sibling of `IThrottleStrategy`, and deliberately not the same seam.
6
+ * Throttling is the SERVER governing the pace: it returns `429`, it names a
7
+ * delay in `Retry-After`, and the only honest thing to do is observe that
8
+ * delay or report it. Here nobody names anything. A `502` says the request
9
+ * failed; it says nothing at all about when the next one might work.
10
+ *
11
+ * So any waiting here rests on a number, and this library has none to give.
12
+ * How long to wait, and how many times, depends on who is waiting at the other
13
+ * end — a batch job and a caller on a sixty-second connection want opposite
14
+ * things, and the difference is invisible from in here. The consumer decides,
15
+ * the same way it decides about throttling.
16
+ *
17
+ * Two ship:
18
+ *
19
+ * - `ReportFailure` — never waits. The failure goes up as it arrived, and the
20
+ * caller decides. This is what happens when nothing is configured.
21
+ * - `RetryWithBackoff` — the classic policy, with its numbers named by whoever
22
+ * constructs it rather than defaulted in here.
23
+ */
24
+ import { isRetryableStatus } from '../resilience/status.js';
25
+ /**
26
+ * Never retry. What happens when nothing is configured.
27
+ *
28
+ * The failure goes up untouched, and the caller — who knows whether anyone is
29
+ * waiting on the other end, and whether the work is worth repeating — decides
30
+ * whether to ask again.
31
+ */
32
+ export class ReportFailure {
33
+ name = 'report-failure';
34
+ decide() {
35
+ return { waitMs: 0, retry: false, reason: 'reported' };
36
+ }
37
+ }
38
+ /**
39
+ * Try again a fixed number of times, doubling the wait each time.
40
+ *
41
+ * The policy this library used to install on everyone by default. It still
42
+ * ships, because it is a reasonable thing to want; what changed is that its
43
+ * numbers now belong to whoever writes them down. There are no defaults here
44
+ * on purpose — a default would be this library guessing again, one layer in.
45
+ *
46
+ * `statuses` is the set worth repeating. A `500` or `502` is usually the
47
+ * provider having a bad second; a `400` is the request itself, and repeating
48
+ * it just fails again more slowly. A failure carrying no status is not
49
+ * retried: without one there is nothing to tell a blip from a bug.
50
+ *
51
+ * `midStreamHints` opts into the harder case — a stream that failed after it
52
+ * had already yielded. Retrying that replays the whole stream, so it happens
53
+ * only for failures whose message matches one of these, and never by default.
54
+ */
55
+ export class RetryWithBackoff {
56
+ name = 'retry-with-backoff';
57
+ attempts;
58
+ firstWaitMs;
59
+ statuses;
60
+ midStreamHints;
61
+ constructor(options) {
62
+ this.attempts = options.attempts;
63
+ this.firstWaitMs = options.firstWaitMs;
64
+ this.statuses = new Set(options.statuses);
65
+ this.midStreamHints = options.midStreamHints ?? [];
66
+ }
67
+ decide({ status, attempt, midStream, error, }) {
68
+ if (attempt > this.attempts) {
69
+ return { waitMs: 0, retry: false, reason: 'attempts' };
70
+ }
71
+ const worthRepeating = midStream
72
+ ? this.matchesHint(error)
73
+ : status !== undefined
74
+ ? this.statuses.has(status)
75
+ : // No structured status: fall back to the shared word-boundary match on
76
+ // the message, because every provider rewraps its transport error and
77
+ // the status is often only in the prose by the time it reaches here.
78
+ isRetryableStatus(error, [...this.statuses]);
79
+ if (!worthRepeating) {
80
+ return {
81
+ waitMs: 0,
82
+ retry: false,
83
+ reason: midStream ? 'mid-stream' : 'not-transient',
84
+ };
85
+ }
86
+ // attempt is 1-based, so the first retry waits exactly firstWaitMs.
87
+ return { waitMs: this.firstWaitMs * 2 ** (attempt - 1), retry: true };
88
+ }
89
+ matchesHint(error) {
90
+ if (this.midStreamHints.length === 0)
91
+ return false;
92
+ const message = error instanceof Error ? error.message : String(error);
93
+ return this.midStreamHints.some((hint) => message.includes(hint));
94
+ }
95
+ }
96
+ //# sourceMappingURL=failure-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-strategy.js","sourceRoot":"","sources":["../../src/interfaces/failure-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA6B5D;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,gBAAgB,CAAC;IAEjC,MAAM;QACJ,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACzD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,oBAAoB,CAAC;IACpB,QAAQ,CAAS;IACjB,WAAW,CAAS;IACpB,QAAQ,CAAsB;IAC9B,cAAc,CAAoB;IAEnD,YAAY,OASX;QACC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,EACL,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,GACU;QACf,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QACzD,CAAC;QACD,MAAM,cAAc,GAAG,SAAS;YAC9B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,MAAM,KAAK,SAAS;gBACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC3B,CAAC,CAAC,uEAAuE;oBACvE,sEAAsE;oBACtE,qEAAqE;oBACrE,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe;aACnD,CAAC;QACJ,CAAC;QACD,oEAAoE;QACpE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxE,CAAC;IAEO,WAAW,CAAC,KAAc;QAChC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -34,8 +34,9 @@ export interface McpConnectionConfig {
34
34
  * Default = no-op (contributes nothing). A consumer may use this to convey a
35
35
  * "willing to wait longer" hint or other per-request metadata. */
36
36
  requestHeadersStrategy?: IMcpRequestHeadersStrategy;
37
- /** Default per-call MCP request timeout in ms (default 120000 = 2 min).
38
- * Per-tool overrides via toolTimeouts. */
37
+ /** Per-call MCP request timeout in ms (default 3600000 = 1 h — a ceiling meant
38
+ * not to be reached, since the SDK applies its own 60s when none is given).
39
+ * A real limit belongs in toolTimeouts, per tool. */
39
40
  timeout?: number;
40
41
  /** Per-tool MCP request-timeout overrides in ms, keyed by tool name.
41
42
  * Takes precedence over timeout. */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-connection-strategy.d.ts","sourceRoot":"","sources":["../../src/interfaces/mcp-connection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB;mFAC+E;IAC/E,iBAAiB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD;kFAC8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CACL,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mGAAmG;IACnG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;qFACiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;uEAEmE;IACnE,sBAAsB,CAAC,EAAE,0BAA0B,CAAC;IACpD;+CAC2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;yCACqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,mBAAmB,KACxB,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAErC,MAAM,WAAW,yBAAyB;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"mcp-connection-strategy.d.ts","sourceRoot":"","sources":["../../src/interfaces/mcp-connection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB;mFAC+E;IAC/E,iBAAiB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD;kFAC8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CACL,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mGAAmG;IACnG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;qFACiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;uEAEmE;IACnE,sBAAsB,CAAC,EAAE,0BAA0B,CAAC;IACpD;;0DAEsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;yCACqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,mBAAmB,KACxB,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAErC,MAAM,WAAW,yBAAyB;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -115,9 +115,16 @@ export interface IRagRegistry {
115
115
  description?: string;
116
116
  tags?: readonly string[];
117
117
  }): Promise<Result<RagCollectionMeta, RagError>>;
118
- /** Delete a collection; delegate to provider (if set in meta) then unregister. */
118
+ /**
119
+ * Delete a collection: unregister it, then delete its data through the
120
+ * provider that created it. A failure is returned with the collection
121
+ * already unregistered.
122
+ */
119
123
  deleteCollection(name: string): Promise<Result<void, RagError>>;
120
- /** Unregister + delete all session-scoped collections with the given sessionId. */
124
+ /**
125
+ * Delete every session-scoped collection with the given sessionId, going
126
+ * through all of them even when one fails; the failures come back together.
127
+ */
121
128
  closeSession(sessionId: string): Promise<Result<void, RagError>>;
122
129
  }
123
130
  export interface IRagProvider {
@@ -1 +1 @@
1
- {"version":3,"file":"rag.d.ts","sourceRoot":"","sources":["../../src/interfaces/rag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rag.d.ts","sourceRoot":"","sources":["../../src/interfaces/rag.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,28 @@ export declare class ProviderNotFoundError extends RagError {
17
17
  export declare class CollectionNotFoundError extends RagError {
18
18
  constructor(collectionName: string);
19
19
  }
20
+ /**
21
+ * A collection was unregistered, but nothing could delete its data: its
22
+ * provider is gone, or it has no `deleteCollection` and its store no
23
+ * `writer().clearAll()`.
24
+ */
25
+ export declare class DeleteUnsupportedError extends RagError {
26
+ constructor(collectionName: string, reason: string);
27
+ }
28
+ /**
29
+ * A session was closed — every one of its collections unregistered — but the
30
+ * data of some could not be deleted. `failures` names each, with its error.
31
+ */
32
+ export declare class SessionCloseIncompleteError extends RagError {
33
+ readonly failures: ReadonlyArray<{
34
+ name: string;
35
+ error: RagError;
36
+ }>;
37
+ constructor(sessionId: string, failures: ReadonlyArray<{
38
+ name: string;
39
+ error: RagError;
40
+ }>);
41
+ }
20
42
  export declare class ScopeViolationError extends RagError {
21
43
  constructor(collectionName: string, reason: string);
22
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/rag/corrections/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,cAAc,EAAE,MAAM;CAInC;AAED,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,YAAY,EAAE,MAAM;CAIjC;AAED,qBAAa,0BAA2B,SAAQ,QAAQ;gBAC1C,GAAG,EAAE,MAAM;CAOxB;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAOhD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,YAAY,EAAE,MAAM;CAOjC;AAED,qBAAa,uBAAwB,SAAQ,QAAQ;gBACvC,cAAc,EAAE,MAAM;CAOnC;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAOnD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/rag/corrections/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,cAAc,EAAE,MAAM;CAInC;AAED,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,YAAY,EAAE,MAAM;CAIjC;AAED,qBAAa,0BAA2B,SAAQ,QAAQ;gBAC1C,GAAG,EAAE,MAAM;CAOxB;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAOhD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,YAAY,EAAE,MAAM;CAOjC;AAED,qBAAa,uBAAwB,SAAQ,QAAQ;gBACvC,cAAc,EAAE,MAAM;CAOnC;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,QAAQ;gBACtC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAOnD;AAED;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,QAAQ;IAGrD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC;gBADnE,SAAS,EAAE,MAAM,EACR,QAAQ,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC;CAUtE;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAOnD"}
@@ -35,6 +35,31 @@ export class CollectionNotFoundError extends RagError {
35
35
  this.name = 'CollectionNotFoundError';
36
36
  }
37
37
  }
38
+ /**
39
+ * A collection was unregistered, but nothing could delete its data: its
40
+ * provider is gone, or it has no `deleteCollection` and its store no
41
+ * `writer().clearAll()`.
42
+ */
43
+ export class DeleteUnsupportedError extends RagError {
44
+ constructor(collectionName, reason) {
45
+ super(`Collection '${collectionName}' was unregistered, but its data was not deleted: ${reason}`, 'RAG_DELETE_UNSUPPORTED');
46
+ this.name = 'DeleteUnsupportedError';
47
+ }
48
+ }
49
+ /**
50
+ * A session was closed — every one of its collections unregistered — but the
51
+ * data of some could not be deleted. `failures` names each, with its error.
52
+ */
53
+ export class SessionCloseIncompleteError extends RagError {
54
+ failures;
55
+ constructor(sessionId, failures) {
56
+ super(`Session '${sessionId}' closed, but the data of ${failures.length} collection(s) could not be deleted: ${failures
57
+ .map((f) => `${f.name}: ${f.error.message}`)
58
+ .join('; ')}`, 'RAG_SESSION_CLOSE_INCOMPLETE');
59
+ this.failures = failures;
60
+ this.name = 'SessionCloseIncompleteError';
61
+ }
62
+ }
38
63
  export class ScopeViolationError extends RagError {
39
64
  constructor(collectionName, reason) {
40
65
  super(`Scope violation on '${collectionName}': ${reason}`, 'RAG_SCOPE_VIOLATION');
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/rag/corrections/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACzC,YAAY,cAAsB;QAChC,KAAK,CAAC,eAAe,cAAc,gBAAgB,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,YAAoB;QAC9B,KAAK,CAAC,GAAG,YAAY,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,QAAQ;IACtD,YAAY,GAAW;QACrB,KAAK,CACH,iBAAiB,GAAG,uEAAuE,EAC3F,6BAA6B,CAC9B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,YAAoB,EAAE,KAAa;QAC7C,KAAK,CACH,aAAa,YAAY,6BAA6B,KAAK,GAAG,EAC9D,uBAAuB,CACxB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,YAAoB;QAC9B,KAAK,CACH,iBAAiB,YAAY,qBAAqB,EAClD,wBAAwB,CACzB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,QAAQ;IACnD,YAAY,cAAsB;QAChC,KAAK,CACH,eAAe,cAAc,qBAAqB,EAClD,0BAA0B,CAC3B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,cAAsB,EAAE,MAAc;QAChD,KAAK,CACH,uBAAuB,cAAc,MAAM,MAAM,EAAE,EACnD,qBAAqB,CACtB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/rag/corrections/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACzC,YAAY,cAAsB;QAChC,KAAK,CAAC,eAAe,cAAc,gBAAgB,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,YAAoB;QAC9B,KAAK,CAAC,GAAG,YAAY,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,QAAQ;IACtD,YAAY,GAAW;QACrB,KAAK,CACH,iBAAiB,GAAG,uEAAuE,EAC3F,6BAA6B,CAC9B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,YAAoB,EAAE,KAAa;QAC7C,KAAK,CACH,aAAa,YAAY,6BAA6B,KAAK,GAAG,EAC9D,uBAAuB,CACxB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,YAAoB;QAC9B,KAAK,CACH,iBAAiB,YAAY,qBAAqB,EAClD,wBAAwB,CACzB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,QAAQ;IACnD,YAAY,cAAsB;QAChC,KAAK,CACH,eAAe,cAAc,qBAAqB,EAClD,0BAA0B,CAC3B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,QAAQ;IAClD,YAAY,cAAsB,EAAE,MAAc;QAChD,KAAK,CACH,eAAe,cAAc,qDAAqD,MAAM,EAAE,EAC1F,wBAAwB,CACzB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,QAAQ;IAG5C;IAFX,YACE,SAAiB,EACR,QAA0D;QAEnE,KAAK,CACH,YAAY,SAAS,6BAA6B,QAAQ,CAAC,MAAM,wCAAwC,QAAQ;aAC9G,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;aAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,EACf,8BAA8B,CAC/B,CAAC;QAPO,aAAQ,GAAR,QAAQ,CAAkD;QAQnE,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,cAAsB,EAAE,MAAc;QAChD,KAAK,CACH,uBAAuB,cAAc,MAAM,MAAM,EAAE,EACnD,qBAAqB,CACtB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"rag-collection-tools.d.ts","sourceRoot":"","sources":["../../../src/rag/mcp-tools/rag-collection-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACb,MAAM,yBAAyB,CAAC;AAMjC,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;KAC5B,CAAC;IACF,OAAO,EAAE,CACP,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,QAAQ,EAAE,YAAY,CAAC;IACvB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC,GAAG,YAAY,EAAE,CA+OjB"}
1
+ {"version":3,"file":"rag-collection-tools.d.ts","sourceRoot":"","sources":["../../../src/rag/mcp-tools/rag-collection-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACb,MAAM,yBAAyB,CAAC;AAOjC,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;KAC5B,CAAC;IACF,OAAO,EAAE,CACP,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,QAAQ,EAAE,YAAY,CAAC;IACvB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC,GAAG,YAAY,EAAE,CAwPjB"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { CollectionNotFoundError } from '../corrections/errors.js';
2
3
  import { buildCorrectionMetadata, deprecateMetadata, } from '../corrections/metadata.js';
3
4
  export function buildRagCollectionToolEntries(opts) {
4
5
  const { registry } = opts;
@@ -177,7 +178,17 @@ export function buildRagCollectionToolEntries(opts) {
177
178
  }
178
179
  }
179
180
  const res = await registry.deleteCollection(name);
180
- return res.ok ? { ok: true } : { ok: false, error: res.error.message };
181
+ if (res.ok)
182
+ return { ok: true };
183
+ if (res.error instanceof CollectionNotFoundError) {
184
+ return { ok: false, error: res.error.message };
185
+ }
186
+ // The collection is unregistered whatever happened to its data: it is
187
+ // gone for the caller, and the failure is reported as what it is.
188
+ return {
189
+ ok: true,
190
+ warning: `Collection '${name}' was removed, but its data could not be deleted: ${res.error.message}`,
191
+ };
181
192
  },
182
193
  };
183
194
  const tools = [
@@ -1 +1 @@
1
- {"version":3,"file":"rag-collection-tools.js","sourceRoot":"","sources":["../../../src/rag/mcp-tools/rag-collection-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rag-collection-tools.js","sourceRoot":"","sources":["../../../src/rag/mcp-tools/rag-collection-tools.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,12 @@ import { AbstractRagProvider } from './base-provider.js';
5
5
  export interface InMemoryRagProviderConfig {
6
6
  name: string;
7
7
  editable?: boolean;
8
+ /**
9
+ * Scopes this provider accepts. Default `['session']`: its stores live in
10
+ * this process and are gone after a restart, so whether a longer-lived scope
11
+ * fits is the host's call.
12
+ */
13
+ supportedScopes?: readonly RagCollectionScope[];
8
14
  inMemoryRagConfig?: InMemoryRagConfig;
9
15
  idStrategyFactory?: (opts: {
10
16
  scope: RagCollectionScope;
@@ -16,7 +22,7 @@ export declare class InMemoryRagProvider extends AbstractRagProvider {
16
22
  readonly name: string;
17
23
  readonly kind = "vector";
18
24
  readonly editable: boolean;
19
- readonly supportedScopes: readonly ["session"];
25
+ readonly supportedScopes: readonly RagCollectionScope[];
20
26
  private readonly inMemoryCfg?;
21
27
  constructor(cfg: InMemoryRagProviderConfig);
22
28
  createCollection(_name: string, opts: {
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-rag-provider.d.ts","sourceRoot":"","sources":["../../../src/rag/providers/in-memory-rag-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,IAAI,EACJ,UAAU,EACV,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,WAAW,CAAC;CACnB;AAED,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,uBAAwB;IAEhD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoB;gBAErC,GAAG,EAAE,yBAAyB;IAQpC,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QACJ,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,MAAM,CAAC;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,EAAE,QAAQ,CAAC,CAAC;CAOhE"}
1
+ {"version":3,"file":"in-memory-rag-provider.d.ts","sourceRoot":"","sources":["../../../src/rag/providers/in-memory-rag-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,IAAI,EACJ,UAAU,EACV,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,WAAW,CAAC;CACnB;AAED,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAExD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoB;gBAErC,GAAG,EAAE,yBAAyB;IASpC,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QACJ,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,MAAM,CAAC;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,EAAE,QAAQ,CAAC,CAAC;CAOhE"}
@@ -4,12 +4,13 @@ export class InMemoryRagProvider extends AbstractRagProvider {
4
4
  name;
5
5
  kind = 'vector';
6
6
  editable;
7
- supportedScopes = ['session'];
7
+ supportedScopes;
8
8
  inMemoryCfg;
9
9
  constructor(cfg) {
10
10
  super();
11
11
  this.name = cfg.name;
12
12
  this.editable = cfg.editable ?? true;
13
+ this.supportedScopes = cfg.supportedScopes ?? ['session'];
13
14
  this.inMemoryCfg = cfg.inMemoryRagConfig;
14
15
  if (cfg.idStrategyFactory)
15
16
  this.idStrategyFactory = cfg.idStrategyFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-rag-provider.js","sourceRoot":"","sources":["../../../src/rag/providers/in-memory-rag-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAA0B,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAazD,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IACjD,IAAI,CAAS;IACb,IAAI,GAAG,QAAQ,CAAC;IAChB,QAAQ,CAAU;IAClB,eAAe,GAAG,CAAC,SAAS,CAAU,CAAC;IAE/B,WAAW,CAAqB;IAEjD,YAAY,GAA8B;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,iBAAiB,CAAC;QACzC,IAAI,GAAG,CAAC,iBAAiB;YAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,IAIC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,EAAE;YAAE,OAAO,UAAU,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"in-memory-rag-provider.js","sourceRoot":"","sources":["../../../src/rag/providers/in-memory-rag-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAA0B,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAmBzD,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IACjD,IAAI,CAAS;IACb,IAAI,GAAG,QAAQ,CAAC;IAChB,QAAQ,CAAU;IAClB,eAAe,CAAgC;IAEvC,WAAW,CAAqB;IAEjD,YAAY,GAA8B;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,iBAAiB,CAAC;QACzC,IAAI,GAAG,CAAC,iBAAiB;YAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,IAIC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,EAAE;YAAE,OAAO,UAAU,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;IAC9C,CAAC;CACF"}
@@ -6,6 +6,12 @@ export interface VectorRagProviderConfig {
6
6
  name: string;
7
7
  embedder: IEmbedder;
8
8
  editable?: boolean;
9
+ /**
10
+ * Scopes this provider accepts. Default `['session']`: its stores live in
11
+ * this process and are gone after a restart, so whether a longer-lived scope
12
+ * fits is the host's call.
13
+ */
14
+ supportedScopes?: readonly RagCollectionScope[];
9
15
  vectorRagConfig?: VectorRagConfig;
10
16
  idStrategyFactory?: (opts: {
11
17
  scope: RagCollectionScope;
@@ -17,7 +23,7 @@ export declare class VectorRagProvider extends AbstractRagProvider {
17
23
  readonly name: string;
18
24
  readonly kind = "vector";
19
25
  readonly editable: boolean;
20
- readonly supportedScopes: readonly ["session"];
26
+ readonly supportedScopes: readonly RagCollectionScope[];
21
27
  private readonly embedder;
22
28
  private readonly vectorRagConfig?;
23
29
  constructor(cfg: VectorRagProviderConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"vector-rag-provider.d.ts","sourceRoot":"","sources":["../../../src/rag/providers/vector-rag-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,IAAI,EACJ,UAAU,EACV,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,WAAW,CAAC;CACnB;AAED,qBAAa,iBAAkB,SAAQ,mBAAmB;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,uBAAwB;IAEhD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAkB;gBAEvC,GAAG,EAAE,uBAAuB;IASlC,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QACJ,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,MAAM,CAAC;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,EAAE,QAAQ,CAAC,CAAC;CAOhE"}
1
+ {"version":3,"file":"vector-rag-provider.d.ts","sourceRoot":"","sources":["../../../src/rag/providers/vector-rag-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,IAAI,EACJ,UAAU,EACV,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,WAAW,CAAC;CACnB;AAED,qBAAa,iBAAkB,SAAQ,mBAAmB;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAExD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAkB;gBAEvC,GAAG,EAAE,uBAAuB;IAUlC,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QACJ,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,MAAM,CAAC;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,EAAE,QAAQ,CAAC,CAAC;CAOhE"}
@@ -4,7 +4,7 @@ export class VectorRagProvider extends AbstractRagProvider {
4
4
  name;
5
5
  kind = 'vector';
6
6
  editable;
7
- supportedScopes = ['session'];
7
+ supportedScopes;
8
8
  embedder;
9
9
  vectorRagConfig;
10
10
  constructor(cfg) {
@@ -12,6 +12,7 @@ export class VectorRagProvider extends AbstractRagProvider {
12
12
  this.name = cfg.name;
13
13
  this.embedder = cfg.embedder;
14
14
  this.editable = cfg.editable ?? true;
15
+ this.supportedScopes = cfg.supportedScopes ?? ['session'];
15
16
  this.vectorRagConfig = cfg.vectorRagConfig;
16
17
  if (cfg.idStrategyFactory)
17
18
  this.idStrategyFactory = cfg.idStrategyFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"vector-rag-provider.js","sourceRoot":"","sources":["../../../src/rag/providers/vector-rag-provider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAwB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAczD,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IAC/C,IAAI,CAAS;IACb,IAAI,GAAG,QAAQ,CAAC;IAChB,QAAQ,CAAU;IAClB,eAAe,GAAG,CAAC,SAAS,CAAU,CAAC;IAE/B,QAAQ,CAAY;IACpB,eAAe,CAAmB;IAEnD,YAAY,GAA4B;QACtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;QAC3C,IAAI,GAAG,CAAC,iBAAiB;YAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,IAIC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,EAAE;YAAE,OAAO,UAAU,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"vector-rag-provider.js","sourceRoot":"","sources":["../../../src/rag/providers/vector-rag-provider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAwB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAoBzD,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IAC/C,IAAI,CAAS;IACb,IAAI,GAAG,QAAQ,CAAC;IAChB,QAAQ,CAAU;IAClB,eAAe,CAAgC;IAEvC,QAAQ,CAAY;IACpB,eAAe,CAAmB;IAEnD,YAAY,GAA4B;QACtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;QAC3C,IAAI,GAAG,CAAC,iBAAiB;YAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,IAIC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,EAAE;YAAE,OAAO,UAAU,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;IAC9C,CAAC;CACF"}
@@ -4,9 +4,19 @@ interface Entry {
4
4
  rag: IRag;
5
5
  editor?: IRagEditor;
6
6
  meta: RagCollectionMeta;
7
+ /** The name its provider knows the store by; see createCollection. */
8
+ storeName: string;
7
9
  }
8
10
  export declare class SimpleRagRegistry implements IRagRegistry {
9
11
  protected readonly entries: Map<string, Entry>;
12
+ /**
13
+ * Store names whose deletion is still running, with that deletion. A store
14
+ * name is released only once its deletion has finished: a collection created
15
+ * under it meanwhile waits, so the deletion cannot remove what it writes.
16
+ */
17
+ protected readonly deletions: Map<string, Promise<unknown>>;
18
+ /** Collection names being created, held until registered or refused. */
19
+ protected readonly creating: Set<string>;
10
20
  protected providerRegistry?: IRagProviderRegistry;
11
21
  protected mutationListener?: () => void;
12
22
  setProviderRegistry(providerRegistry: IRagProviderRegistry): void;
@@ -27,7 +37,28 @@ export declare class SimpleRagRegistry implements IRagRegistry {
27
37
  description?: string;
28
38
  tags?: readonly string[];
29
39
  }): Promise<Result<RagCollectionMeta, RagError>>;
40
+ private createUnder;
41
+ /**
42
+ * Delete a collection.
43
+ *
44
+ * It is unregistered first, whatever follows, so nothing can reach it again.
45
+ * Then its data goes: a collection a provider created is deleted by that
46
+ * provider's `deleteCollection` or, where the provider has none, emptied
47
+ * through its store's `writer().clearAll()`. A collection registered directly,
48
+ * with no provider, is only unregistered — its store belongs to whoever
49
+ * registered it. Nothing is retried. A failure comes back as the error, with
50
+ * the collection already unregistered; its data may remain in the backend,
51
+ * under a store name no other session or user is given (see storeNameFor).
52
+ * The store name itself is held until the deletion has finished (see
53
+ * deletions).
54
+ */
30
55
  deleteCollection(name: string): Promise<Result<void, RagError>>;
56
+ private deleteData;
57
+ /**
58
+ * Delete every session-scoped collection of this session. Goes through all of
59
+ * them even when one fails — each is unregistered regardless (see
60
+ * deleteCollection) — and returns the failures together.
61
+ */
31
62
  closeSession(sessionId: string): Promise<Result<void, RagError>>;
32
63
  }
33
64
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"simple-rag-registry.d.ts","sourceRoot":"","sources":["../../../src/rag/registry/simple-rag-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAOlE,UAAU,KAAK;IACb,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,qBAAa,iBAAkB,YAAW,YAAY;IACpD,SAAS,CAAC,QAAQ,CAAC,OAAO,qBAA4B;IACtD,SAAS,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAClD,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAExC,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,IAAI;IAIjE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI/C,OAAO,CAAC,YAAY;IAIpB,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,IAAI,EACT,MAAM,CAAC,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC,GAClD,IAAI;IAwBP,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAMjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI/C,IAAI,IAAI,SAAS,iBAAiB,EAAE;IAI9B,gBAAgB,CAAC,MAAM,EAAE;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IA+E1C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAkB/D,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAYvE"}
1
+ {"version":3,"file":"simple-rag-registry.d.ts","sourceRoot":"","sources":["../../../src/rag/registry/simple-rag-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EAEV,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAyClE,UAAU,KAAK;IACb,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,iBAAiB,CAAC;IACxB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,iBAAkB,YAAW,YAAY;IACpD,SAAS,CAAC,QAAQ,CAAC,OAAO,qBAA4B;IACtD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,gCAAuC;IACnE,wEAAwE;IACxE,SAAS,CAAC,QAAQ,CAAC,QAAQ,cAAqB;IAChD,SAAS,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAClD,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAExC,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,IAAI;IAIjE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI/C,OAAO,CAAC,YAAY;IAIpB,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,IAAI,EACT,MAAM,CAAC,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC,GAClD,IAAI;IAyBP,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAMjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI/C,IAAI,IAAI,SAAS,iBAAiB,EAAE;IAI9B,gBAAgB,CAAC,MAAM,EAAE;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,kBAAkB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;YAyClC,WAAW;IA6DzB;;;;;;;;;;;;;OAaG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAkBvD,UAAU;IA2CxB;;;;OAIG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAmBvE"}
@@ -1,8 +1,43 @@
1
+ import { createHash } from 'node:crypto';
1
2
  import { RagError } from '../../interfaces/types.js';
2
- import { CollectionNotFoundError, ProviderNotFoundError, } from '../corrections/errors.js';
3
+ import { CollectionNotFoundError, DeleteUnsupportedError, ProviderNotFoundError, SessionCloseIncompleteError, } from '../corrections/errors.js';
3
4
  import { ImmutableEditStrategy } from '../strategies/edit/immutable.js';
5
+ /**
6
+ * The name a provider keeps a collection's data under.
7
+ *
8
+ * The collection name and a digest of its scope, its owner (the session for a
9
+ * session collection, the user for a user one) and the name. The same
10
+ * collection of the same owner gets the same store, so a user or global
11
+ * collection finds its data again after a restart; another session or user
12
+ * gets another one, so none opens a store someone else's deletion left. It fits
13
+ * the strictest provider rules: letters, digits and underscores, not starting
14
+ * with a digit, at most 63 characters (PostgreSQL, HANA).
15
+ */
16
+ function storeNameFor(params) {
17
+ const owner = params.scope === 'session'
18
+ ? (params.sessionId ?? '')
19
+ : params.scope === 'user'
20
+ ? (params.userId ?? '')
21
+ : '';
22
+ const digest = createHash('sha256')
23
+ .update(JSON.stringify([params.scope, owner, params.collectionName]))
24
+ .digest('hex')
25
+ .slice(0, 12);
26
+ let base = params.collectionName.replace(/[^a-zA-Z0-9_]/g, '_');
27
+ if (!/^[a-zA-Z_]/.test(base))
28
+ base = `_${base}`;
29
+ return `${base.slice(0, 63 - digest.length - 1)}_${digest}`;
30
+ }
4
31
  export class SimpleRagRegistry {
5
32
  entries = new Map();
33
+ /**
34
+ * Store names whose deletion is still running, with that deletion. A store
35
+ * name is released only once its deletion has finished: a collection created
36
+ * under it meanwhile waits, so the deletion cannot remove what it writes.
37
+ */
38
+ deletions = new Map();
39
+ /** Collection names being created, held until registered or refused. */
40
+ creating = new Set();
6
41
  providerRegistry;
7
42
  mutationListener;
8
43
  setProviderRegistry(providerRegistry) {
@@ -22,6 +57,7 @@ export class SimpleRagRegistry {
22
57
  this.entries.set(name, {
23
58
  rag,
24
59
  editor,
60
+ storeName: name,
25
61
  meta: {
26
62
  name,
27
63
  displayName: meta?.displayName ?? name,
@@ -65,14 +101,30 @@ export class SimpleRagRegistry {
65
101
  error: new ProviderNotFoundError(params.providerName),
66
102
  };
67
103
  }
68
- // Preflight duplicate-name check.
69
- if (this.entries.has(params.collectionName)) {
104
+ // Preflight duplicate-name check, counting creations still running: two at
105
+ // once would share one store, and the loser's rollback would delete it.
106
+ if (this.entries.has(params.collectionName) ||
107
+ this.creating.has(params.collectionName)) {
70
108
  return {
71
109
  ok: false,
72
110
  error: new RagError(`Collection '${params.collectionName}' already exists`, 'RAG_DUPLICATE_COLLECTION'),
73
111
  };
74
112
  }
75
- const created = await provider.createCollection(params.collectionName, {
113
+ this.creating.add(params.collectionName);
114
+ try {
115
+ return await this.createUnder(provider, params);
116
+ }
117
+ finally {
118
+ this.creating.delete(params.collectionName);
119
+ }
120
+ }
121
+ async createUnder(provider, params) {
122
+ // A provider that keeps stores by name (Qdrant, a database) opens whatever
123
+ // is there, so each owner gets a store name of its own; see storeNameFor.
124
+ const storeName = storeNameFor(params);
125
+ // Released only when a deletion under it has finished; see deletions.
126
+ await this.deletions.get(storeName);
127
+ const created = await provider.createCollection(storeName, {
76
128
  scope: params.scope,
77
129
  sessionId: params.sessionId,
78
130
  userId: params.userId,
@@ -94,7 +146,7 @@ export class SimpleRagRegistry {
94
146
  // Defense-in-depth rollback: the preflight check should prevent this,
95
147
  // but if register throws anyway (subclass or race), roll the backend back.
96
148
  if (provider.deleteCollection) {
97
- await provider.deleteCollection(params.collectionName).catch(() => { });
149
+ await provider.deleteCollection(storeName).catch(() => { });
98
150
  }
99
151
  return {
100
152
  ok: false,
@@ -110,32 +162,89 @@ export class SimpleRagRegistry {
110
162
  error: new RagError(`Collection '${params.collectionName}' vanished after registration`, 'RAG_REGISTER_FAILED'),
111
163
  };
112
164
  }
165
+ registered.storeName = storeName;
113
166
  return { ok: true, value: registered.meta };
114
167
  }
168
+ /**
169
+ * Delete a collection.
170
+ *
171
+ * It is unregistered first, whatever follows, so nothing can reach it again.
172
+ * Then its data goes: a collection a provider created is deleted by that
173
+ * provider's `deleteCollection` or, where the provider has none, emptied
174
+ * through its store's `writer().clearAll()`. A collection registered directly,
175
+ * with no provider, is only unregistered — its store belongs to whoever
176
+ * registered it. Nothing is retried. A failure comes back as the error, with
177
+ * the collection already unregistered; its data may remain in the backend,
178
+ * under a store name no other session or user is given (see storeNameFor).
179
+ * The store name itself is held until the deletion has finished (see
180
+ * deletions).
181
+ */
115
182
  async deleteCollection(name) {
116
183
  const entry = this.entries.get(name);
117
184
  if (!entry) {
118
185
  return { ok: false, error: new CollectionNotFoundError(name) };
119
186
  }
120
- if (entry.meta.providerName && this.providerRegistry) {
121
- const provider = this.providerRegistry.getProvider(entry.meta.providerName);
122
- if (provider?.deleteCollection) {
123
- const res = await provider.deleteCollection(name);
124
- if (!res.ok)
125
- return res;
187
+ this.unregister(name);
188
+ const deletion = this.deleteData(name, entry).finally(() => {
189
+ if (this.deletions.get(entry.storeName) === deletion) {
190
+ this.deletions.delete(entry.storeName);
126
191
  }
192
+ });
193
+ this.deletions.set(entry.storeName, deletion);
194
+ return deletion;
195
+ }
196
+ async deleteData(name, entry) {
197
+ const providerName = entry.meta.providerName;
198
+ if (!providerName)
199
+ 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
+ };
127
206
  }
128
- this.unregister(name);
129
- return { ok: true, value: undefined };
207
+ try {
208
+ if (provider.deleteCollection) {
209
+ return await provider.deleteCollection(entry.storeName);
210
+ }
211
+ const writer = entry.rag.writer?.();
212
+ if (writer?.clearAll)
213
+ return await writer.clearAll();
214
+ }
215
+ catch (err) {
216
+ return {
217
+ ok: false,
218
+ error: err instanceof RagError
219
+ ? err
220
+ : new RagError(`Deleting the data of collection '${name}' failed: ${err instanceof Error ? err.message : String(err)}`, 'RAG_DELETE_ERROR'),
221
+ };
222
+ }
223
+ return {
224
+ ok: false,
225
+ error: new DeleteUnsupportedError(name, `provider '${providerName}' has no deleteCollection, and its store no writer().clearAll()`),
226
+ };
130
227
  }
228
+ /**
229
+ * Delete every session-scoped collection of this session. Goes through all of
230
+ * them even when one fails — each is unregistered regardless (see
231
+ * deleteCollection) — and returns the failures together.
232
+ */
131
233
  async closeSession(sessionId) {
132
234
  const victims = Array.from(this.entries.values())
133
235
  .filter((e) => e.meta.scope === 'session' && e.meta.sessionId === sessionId)
134
236
  .map((e) => e.meta.name);
237
+ const failures = [];
135
238
  for (const name of victims) {
136
239
  const res = await this.deleteCollection(name);
137
240
  if (!res.ok)
138
- return res;
241
+ failures.push({ name, error: res.error });
242
+ }
243
+ if (failures.length > 0) {
244
+ return {
245
+ ok: false,
246
+ error: new SessionCloseIncompleteError(sessionId, failures),
247
+ };
139
248
  }
140
249
  return { ok: true, value: undefined };
141
250
  }
@@ -1 +1 @@
1
- {"version":3,"file":"simple-rag-registry.js","sourceRoot":"","sources":["../../../src/rag/registry/simple-rag-registry.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAe,MAAM,2BAA2B,CAAC;AAClE,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAQxE,MAAM,OAAO,iBAAiB;IACT,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC5C,gBAAgB,CAAwB;IACxC,gBAAgB,CAAc;IAExC,mBAAmB,CAAC,gBAAsC;QACxD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,mBAAmB,CAAC,QAAoB;QACtC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IACnC,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;IAC5B,CAAC;IAED,QAAQ,CACN,IAAY,EACZ,GAAS,EACT,MAAmB,EACnB,IAAmD;QAEnD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,yBAAyB,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,YAAY,qBAAqB,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YACrB,GAAG;YACH,MAAM;YACN,IAAI,EAAE;gBACJ,IAAI;gBACJ,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,IAAI;gBACtC,WAAW,EAAE,IAAI,EAAE,WAAW;gBAC9B,QAAQ;gBACR,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,QAAQ;gBAC9B,SAAS,EAAE,IAAI,EAAE,SAAS;gBAC1B,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,YAAY,EAAE,IAAI,EAAE,YAAY;gBAChC,IAAI,EAAE,IAAI,EAAE,IAAI;aACjB;SACF,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,OAAO;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAStB;QACC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,QAAQ,CACjB,yDAAyD,EACzD,0BAA0B,CAC3B;aACF,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC;aACtD,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,QAAQ,CACjB,eAAe,MAAM,CAAC,cAAc,kBAAkB,EACtD,0BAA0B,CAC3B;aACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,EAAE;YACrE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC;QAEhC,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CACX,MAAM,CAAC,cAAc,EACrB,OAAO,CAAC,KAAK,CAAC,GAAG,EACjB,OAAO,CAAC,KAAK,CAAC,MAAM,EACpB;gBACE,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,cAAc;gBACxD,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sEAAsE;YACtE,2EAA2E;YAC3E,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EACH,GAAG,YAAY,QAAQ;oBACrB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAC;aACvD,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,QAAQ,CACjB,eAAe,MAAM,CAAC,cAAc,+BAA+B,EACnE,qBAAqB,CACtB;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAChD,KAAK,CAAC,IAAI,CAAC,YAAY,CACxB,CAAC;YACF,IAAI,QAAQ,EAAE,gBAAgB,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,CAAC,GAAG,CAAC,EAAE;oBAAE,OAAO,GAAG,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aAC9C,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CACpE;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,GAAG,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACxC,CAAC;CACF"}
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,29 @@
1
+ /**
2
+ * Resolving an HTTP status from a thrown value.
3
+ *
4
+ * A leaf module on purpose: it imports nothing, so both the retry decorators
5
+ * and the strategies in `interfaces/` can share one classification without a
6
+ * cycle between the two layers. Which statuses are worth repeating is a
7
+ * decision and lives in a strategy; what status this error carries is a fact
8
+ * and lives here.
9
+ */
10
+ /**
11
+ * Resolve an HTTP status from an unknown thrown value: own status/statusCode,
12
+ * then the same walking `cause`, bounded by depth and a visited set so a cyclic
13
+ * chain cannot hang. Returns undefined when no numeric status is present.
14
+ */
15
+ export declare function extractStatusCode(err: unknown): number | undefined;
16
+ /**
17
+ * Whether a thrown value matches one of a set of HTTP status codes.
18
+ *
19
+ * A structured status (own `status`/`statusCode`, or the same on `cause`) is
20
+ * authoritative. Only when none is present does it fall back to the message,
21
+ * and there it matches on **word boundaries** — a bare `includes('429')` also
22
+ * fires on `4290`, an id, or a byte count, turning a hard error into a
23
+ * multi-second backoff stall.
24
+ *
25
+ * Shared by the embedder decorator and the LLM failure strategy so the
26
+ * classification cannot drift between them.
27
+ */
28
+ export declare function isRetryableStatus(err: unknown, retryOn: readonly number[]): boolean;
29
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/resilience/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAgBlE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,OAAO,CAKT"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Resolving an HTTP status from a thrown value.
3
+ *
4
+ * A leaf module on purpose: it imports nothing, so both the retry decorators
5
+ * and the strategies in `interfaces/` can share one classification without a
6
+ * cycle between the two layers. Which statuses are worth repeating is a
7
+ * decision and lives in a strategy; what status this error carries is a fact
8
+ * and lives here.
9
+ */
10
+ const MAX_CAUSE_DEPTH = 5;
11
+ /**
12
+ * Resolve an HTTP status from an unknown thrown value: own status/statusCode,
13
+ * then the same walking `cause`, bounded by depth and a visited set so a cyclic
14
+ * chain cannot hang. Returns undefined when no numeric status is present.
15
+ */
16
+ export function extractStatusCode(err) {
17
+ const visited = new Set();
18
+ let cur = err;
19
+ for (let depth = 0; depth < MAX_CAUSE_DEPTH; depth++) {
20
+ if (typeof cur !== 'object' || cur === null || visited.has(cur))
21
+ return;
22
+ visited.add(cur);
23
+ const rec = cur;
24
+ if (typeof rec.status === 'number')
25
+ return rec.status;
26
+ if (typeof rec.statusCode === 'number')
27
+ return rec.statusCode;
28
+ cur = rec.cause;
29
+ }
30
+ return undefined;
31
+ }
32
+ /**
33
+ * Whether a thrown value matches one of a set of HTTP status codes.
34
+ *
35
+ * A structured status (own `status`/`statusCode`, or the same on `cause`) is
36
+ * authoritative. Only when none is present does it fall back to the message,
37
+ * and there it matches on **word boundaries** — a bare `includes('429')` also
38
+ * fires on `4290`, an id, or a byte count, turning a hard error into a
39
+ * multi-second backoff stall.
40
+ *
41
+ * Shared by the embedder decorator and the LLM failure strategy so the
42
+ * classification cannot drift between them.
43
+ */
44
+ export function isRetryableStatus(err, retryOn) {
45
+ const status = extractStatusCode(err);
46
+ if (status !== undefined)
47
+ return retryOn.includes(status);
48
+ const msg = err instanceof Error ? err.message : String(err);
49
+ return retryOn.some((code) => new RegExp(`\\b${code}\\b`).test(msg));
50
+ }
51
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/resilience/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAW,CAAC;IACnC,IAAI,GAAG,GAAY,GAAG,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QACxE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,GAAG,GAAG,GAIX,CAAC;QACF,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC;QACtD,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,UAAU,CAAC;QAC9D,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAY,EACZ,OAA0B;IAE1B,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-abap-adt/llm-agent",
3
- "version": "24.1.0",
3
+ "version": "26.0.0",
4
4
  "description": "Core interfaces, types, and lightweight default implementations for LLM agent orchestration.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",