@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.
Files changed (89) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/rag/knowledge-rag.d.ts +28 -8
  6. package/dist/rag/knowledge-rag.d.ts.map +1 -1
  7. package/dist/rag/knowledge-rag.js +42 -8
  8. package/dist/rag/knowledge-rag.js.map +1 -1
  9. package/dist/skills/plugin-host/chunker.d.ts +17 -0
  10. package/dist/skills/plugin-host/chunker.d.ts.map +1 -0
  11. package/dist/skills/plugin-host/chunker.js +72 -0
  12. package/dist/skills/plugin-host/chunker.js.map +1 -0
  13. package/dist/skills/plugin-host/chunker.test.d.ts +2 -0
  14. package/dist/skills/plugin-host/chunker.test.d.ts.map +1 -0
  15. package/dist/skills/plugin-host/chunker.test.js +31 -0
  16. package/dist/skills/plugin-host/chunker.test.js.map +1 -0
  17. package/dist/skills/plugin-host/compatible-skills-rag.d.ts +14 -0
  18. package/dist/skills/plugin-host/compatible-skills-rag.d.ts.map +1 -0
  19. package/dist/skills/plugin-host/compatible-skills-rag.js +83 -0
  20. package/dist/skills/plugin-host/compatible-skills-rag.js.map +1 -0
  21. package/dist/skills/plugin-host/compatible-skills-rag.test.d.ts +2 -0
  22. package/dist/skills/plugin-host/compatible-skills-rag.test.d.ts.map +1 -0
  23. package/dist/skills/plugin-host/compatible-skills-rag.test.js +174 -0
  24. package/dist/skills/plugin-host/compatible-skills-rag.test.js.map +1 -0
  25. package/dist/skills/plugin-host/http-marketplace-source.d.ts +46 -0
  26. package/dist/skills/plugin-host/http-marketplace-source.d.ts.map +1 -0
  27. package/dist/skills/plugin-host/http-marketplace-source.js +67 -0
  28. package/dist/skills/plugin-host/http-marketplace-source.js.map +1 -0
  29. package/dist/skills/plugin-host/http-marketplace-source.test.d.ts +2 -0
  30. package/dist/skills/plugin-host/http-marketplace-source.test.d.ts.map +1 -0
  31. package/dist/skills/plugin-host/http-marketplace-source.test.js +71 -0
  32. package/dist/skills/plugin-host/http-marketplace-source.test.js.map +1 -0
  33. package/dist/skills/plugin-host/in-memory-store.d.ts +15 -0
  34. package/dist/skills/plugin-host/in-memory-store.d.ts.map +1 -0
  35. package/dist/skills/plugin-host/in-memory-store.js +151 -0
  36. package/dist/skills/plugin-host/in-memory-store.js.map +1 -0
  37. package/dist/skills/plugin-host/in-memory-store.test.d.ts +2 -0
  38. package/dist/skills/plugin-host/in-memory-store.test.d.ts.map +1 -0
  39. package/dist/skills/plugin-host/in-memory-store.test.js +100 -0
  40. package/dist/skills/plugin-host/in-memory-store.test.js.map +1 -0
  41. package/dist/skills/plugin-host/index.d.ts +10 -0
  42. package/dist/skills/plugin-host/index.d.ts.map +1 -0
  43. package/dist/skills/plugin-host/index.js +12 -0
  44. package/dist/skills/plugin-host/index.js.map +1 -0
  45. package/dist/skills/plugin-host/marketplace-adapter.d.ts +23 -0
  46. package/dist/skills/plugin-host/marketplace-adapter.d.ts.map +1 -0
  47. package/dist/skills/plugin-host/marketplace-adapter.js +32 -0
  48. package/dist/skills/plugin-host/marketplace-adapter.js.map +1 -0
  49. package/dist/skills/plugin-host/marketplace-adapter.test.d.ts +2 -0
  50. package/dist/skills/plugin-host/marketplace-adapter.test.d.ts.map +1 -0
  51. package/dist/skills/plugin-host/marketplace-adapter.test.js +46 -0
  52. package/dist/skills/plugin-host/marketplace-adapter.test.js.map +1 -0
  53. package/dist/skills/plugin-host/qdrant-store.d.ts +85 -0
  54. package/dist/skills/plugin-host/qdrant-store.d.ts.map +1 -0
  55. package/dist/skills/plugin-host/qdrant-store.js +542 -0
  56. package/dist/skills/plugin-host/qdrant-store.js.map +1 -0
  57. package/dist/skills/plugin-host/qdrant-store.test.d.ts +2 -0
  58. package/dist/skills/plugin-host/qdrant-store.test.d.ts.map +1 -0
  59. package/dist/skills/plugin-host/qdrant-store.test.js +396 -0
  60. package/dist/skills/plugin-host/qdrant-store.test.js.map +1 -0
  61. package/dist/skills/plugin-host/skill-plugin-host.d.ts +41 -0
  62. package/dist/skills/plugin-host/skill-plugin-host.d.ts.map +1 -0
  63. package/dist/skills/plugin-host/skill-plugin-host.ingest.test.d.ts +2 -0
  64. package/dist/skills/plugin-host/skill-plugin-host.ingest.test.d.ts.map +1 -0
  65. package/dist/skills/plugin-host/skill-plugin-host.ingest.test.js +520 -0
  66. package/dist/skills/plugin-host/skill-plugin-host.ingest.test.js.map +1 -0
  67. package/dist/skills/plugin-host/skill-plugin-host.js +367 -0
  68. package/dist/skills/plugin-host/skill-plugin-host.js.map +1 -0
  69. package/dist/skills/plugin-host/skill-plugin-host.recall-and-reload.test.d.ts +2 -0
  70. package/dist/skills/plugin-host/skill-plugin-host.recall-and-reload.test.d.ts.map +1 -0
  71. package/dist/skills/plugin-host/skill-plugin-host.recall-and-reload.test.js +328 -0
  72. package/dist/skills/plugin-host/skill-plugin-host.recall-and-reload.test.js.map +1 -0
  73. package/dist/skills/plugin-host/skills-rag-source.d.ts +17 -0
  74. package/dist/skills/plugin-host/skills-rag-source.d.ts.map +1 -0
  75. package/dist/skills/plugin-host/skills-rag-source.js +52 -0
  76. package/dist/skills/plugin-host/skills-rag-source.js.map +1 -0
  77. package/dist/skills/plugin-host/skills-rag-source.test.d.ts +2 -0
  78. package/dist/skills/plugin-host/skills-rag-source.test.d.ts.map +1 -0
  79. package/dist/skills/plugin-host/skills-rag-source.test.js +69 -0
  80. package/dist/skills/plugin-host/skills-rag-source.test.js.map +1 -0
  81. package/dist/skills/plugin-host/source-strategies.d.ts +20 -0
  82. package/dist/skills/plugin-host/source-strategies.d.ts.map +1 -0
  83. package/dist/skills/plugin-host/source-strategies.js +37 -0
  84. package/dist/skills/plugin-host/source-strategies.js.map +1 -0
  85. package/dist/skills/plugin-host/source-strategies.test.d.ts +2 -0
  86. package/dist/skills/plugin-host/source-strategies.test.d.ts.map +1 -0
  87. package/dist/skills/plugin-host/source-strategies.test.js +52 -0
  88. package/dist/skills/plugin-host/source-strategies.test.js.map +1 -0
  89. package/package.json +14 -14
package/dist/index.d.ts CHANGED
@@ -29,7 +29,7 @@ export { DEFAULT_TOOL_SELECTION, ScoreThresholdToolSelection, TopKToolSelection,
29
29
  export type { IPluginLoader, LoadedPlugins, PluginExports, } from './plugins/index.js';
30
30
  export { emptyLoadedPlugins, FileSystemPluginLoader, type FileSystemPluginLoaderConfig, getDefaultPluginDirs, loadPlugins, mergePluginExports, } from './plugins/index.js';
31
31
  export { DefaultModelResolver, type MakeLlmConfig, makeDefaultLlm, makeLlm, } from './providers.js';
32
- export { InMemoryKnowledgeBackend, type KnowledgeBackend, KnowledgeRag, } from './rag/knowledge-rag.js';
32
+ export { InMemoryKnowledgeBackend, type KnowledgeBackend, KnowledgeRag, matches as matchesKnowledgeFilter, } from './rag/knowledge-rag.js';
33
33
  export { LlmReranker } from './reranker/llm-reranker.js';
34
34
  export { NoopReranker } from './reranker/noop-reranker.js';
35
35
  export { RateLimiterLlm } from './resilience/rate-limiter-llm.js';
@@ -43,6 +43,7 @@ export { SessionManager } from './session/session-manager.js';
43
43
  export type { SessionGraphSource, SessionRegistryOptions, } from './session/session-registry.js';
44
44
  export { SessionRegistry } from './session/session-registry.js';
45
45
  export { ClaudeSkillManager, CodexSkillManager, FileSystemSkillManager, } from './skills/index.js';
46
+ export * from './skills/plugin-host/index.js';
46
47
  export { DefaultSubAgentContextBuilder, type DefaultSubAgentContextBuilderConfig, type SubAgentRetrievalSource, } from './subagent/default-context-builder.js';
47
48
  export { DirectLlmSubAgent, type DirectLlmSubAgentOptions, } from './subagent/direct-llm-subagent.js';
48
49
  export { SmartAgentSubAgent } from './subagent/smart-agent-subagent.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -63,7 +63,7 @@ export { emptyLoadedPlugins, FileSystemPluginLoader, getDefaultPluginDirs, loadP
63
63
  // Providers (LLM)
64
64
  // ---------------------------------------------------------------------------
65
65
  export { DefaultModelResolver, makeDefaultLlm, makeLlm, } from './providers.js';
66
- export { InMemoryKnowledgeBackend, KnowledgeRag, } from './rag/knowledge-rag.js';
66
+ export { InMemoryKnowledgeBackend, KnowledgeRag, matches as matchesKnowledgeFilter, } from './rag/knowledge-rag.js';
67
67
  // ---------------------------------------------------------------------------
68
68
  // Reranker
69
69
  // ---------------------------------------------------------------------------
@@ -87,6 +87,7 @@ export { SessionRegistry } from './session/session-registry.js';
87
87
  // Skills
88
88
  // ---------------------------------------------------------------------------
89
89
  export { ClaudeSkillManager, CodexSkillManager, FileSystemSkillManager, } from './skills/index.js';
90
+ export * from './skills/plugin-host/index.js';
90
91
  export { DefaultSubAgentContextBuilder, } from './subagent/default-context-builder.js';
91
92
  export { DirectLlmSubAgent, } from './subagent/direct-llm-subagent.js';
92
93
  // ---------------------------------------------------------------------------
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { IKnowledgeRagHandle, IToolsRagHandle, KnowledgeEntry, KnowledgeEntryMetadata, KnowledgeFilter, LlmTool } from '@mcp-abap-adt/llm-agent';
1
+ import type { CallOptions, IKnowledgeRagHandle, IToolsRagHandle, KnowledgeEntry, KnowledgeEntryMetadata, KnowledgeFilter, LlmTool } from '@mcp-abap-adt/llm-agent';
2
2
  /**
3
3
  * Persistence + retrieval port for the knowledge blackboard. The server
4
4
  * wires a concrete backend (vector store for semantic query + a durable
@@ -7,10 +7,16 @@ import type { IKnowledgeRagHandle, IToolsRagHandle, KnowledgeEntry, KnowledgeEnt
7
7
  */
8
8
  export interface KnowledgeBackend {
9
9
  /** Durably store the full entry (content + metadata) AND index its
10
- * content for semantic query. Keyed by sessionId for isolation. */
11
- put(sessionId: string, entry: KnowledgeEntry): Promise<void>;
12
- /** Semantic similarity search within a session, relevance-capped by k. */
13
- semanticQuery(sessionId: string, text: string, k?: number): Promise<readonly KnowledgeEntry[]>;
10
+ * content for semantic query. Keyed by sessionId for isolation.
11
+ * `options` is forwarded to the embedder so write-time upsert embeds are
12
+ * metered via `options.requestLogger`. */
13
+ put(sessionId: string, entry: KnowledgeEntry, options?: CallOptions): Promise<void>;
14
+ /** Semantic similarity search within a session, relevance-capped by k. When
15
+ * `filter` is given it MUST be applied to the candidate set BEFORE the K cap
16
+ * (so a runId filter is never starved by other runs' artifacts crowding the
17
+ * cap), preserving the backend's native ranking. `options` is forwarded to
18
+ * the embedder so recall-time embeds are metered via `options.requestLogger`. */
19
+ semanticQuery(sessionId: string, text: string, k?: number, filter?: KnowledgeFilter, options?: CallOptions): Promise<readonly KnowledgeEntry[]>;
14
20
  /** Exhaustive durable scan of ALL entries for a session (no relevance
15
21
  * cap). Used by list() and by rehydrate. */
16
22
  scan(sessionId: string): Promise<readonly KnowledgeEntry[]>;
@@ -18,6 +24,9 @@ export interface KnowledgeBackend {
18
24
  * rehydrate stale knowledge. Backs DELETE /v1/sessions/:id — without it a
19
25
  * long-lived in-memory backend would retain entries after a session delete. */
20
26
  deleteSession(sessionId: string): Promise<void>;
27
+ /** True iff the backend supports embedding-based semantic recall (an index is
28
+ * attached). The controller asserts this before wiring run-scoped recall. */
29
+ readonly semanticRecallCapable?: boolean;
21
30
  }
22
31
  /**
23
32
  * Per-session blackboard. write() → backend.put (durable + indexed).
@@ -38,10 +47,11 @@ export declare class KnowledgeRag implements IKnowledgeRagHandle {
38
47
  write(entry: {
39
48
  content: string;
40
49
  metadata: KnowledgeEntryMetadata;
41
- }): Promise<void>;
50
+ }, options?: CallOptions): Promise<void>;
42
51
  query(text: string, opts?: {
43
52
  k?: number;
44
53
  filter?: KnowledgeFilter;
54
+ options?: CallOptions;
45
55
  }): Promise<readonly KnowledgeEntry[]>;
46
56
  list(filter: KnowledgeFilter): Promise<readonly KnowledgeEntry[]>;
47
57
  fingerprint(): string;
@@ -61,17 +71,27 @@ export declare class KnowledgeRag implements IKnowledgeRagHandle {
61
71
  * re-fetched/updated artefact supersedes an earlier one. Undefined if absent. */
62
72
  getArtifact(identityKey: string): Promise<string | undefined>;
63
73
  }
74
+ export declare function matches(m: KnowledgeEntryMetadata, f: KnowledgeFilter): boolean;
64
75
  /** Default in-memory backend — no persistence across process restart, used
65
76
  * for stateless deployments and tests. (The "RESUME" test reuses the same
66
77
  * instance to simulate a durable backend; a true persistent backend ships
67
78
  * in the server package, see Task 13 note.) */
68
79
  export declare class InMemoryKnowledgeBackend implements KnowledgeBackend {
80
+ private readonly semantic?;
69
81
  private readonly bySession;
82
+ /** Optional embedder-backed index; when present, semanticQuery delegates to it
83
+ * (real ranking) — else filter + insertion order (pure unit tests). */
84
+ constructor(semantic?: {
85
+ upsert(sid: string, e: KnowledgeEntry, options?: CallOptions): Promise<void>;
86
+ query(sid: string, text: string, k?: number, filter?: KnowledgeFilter, options?: CallOptions): Promise<readonly KnowledgeEntry[]>;
87
+ deleteSession(sid: string): void;
88
+ } | undefined);
70
89
  private of;
71
- put(sid: string, entry: KnowledgeEntry): Promise<void>;
72
- semanticQuery(sid: string, _text: string, k?: number): Promise<KnowledgeEntry[]>;
90
+ put(sid: string, entry: KnowledgeEntry, options?: CallOptions): Promise<void>;
91
+ semanticQuery(sid: string, text: string, k?: number, filter?: KnowledgeFilter, options?: CallOptions): Promise<readonly KnowledgeEntry[]>;
73
92
  scan(sid: string): Promise<KnowledgeEntry[]>;
74
93
  deleteSession(sid: string): Promise<void>;
94
+ get semanticRecallCapable(): boolean;
75
95
  }
76
96
  /**
77
97
  * Thin wrapper around a tools store (query + lookup). Adapts the store's
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-rag.d.ts","sourceRoot":"","sources":["../../src/rag/knowledge-rag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge-rag.d.ts","sourceRoot":"","sources":["../../src/rag/knowledge-rag.ts"],"names":[],"mappings":"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"}
@@ -19,16 +19,19 @@ export class KnowledgeRag {
19
19
  async init() {
20
20
  this.mirror = [...(await this.backend.scan(this.sessionId))];
21
21
  }
22
- async write(entry) {
22
+ async write(entry, options) {
23
23
  const full = {
24
24
  content: entry.content,
25
25
  metadata: entry.metadata,
26
26
  };
27
- await this.backend.put(this.sessionId, full);
27
+ await this.backend.put(this.sessionId, full, options);
28
28
  this.mirror.push(full);
29
29
  }
30
30
  async query(text, opts) {
31
- const hits = await this.backend.semanticQuery(this.sessionId, text, opts?.k);
31
+ // Pass the filter AND options INTO semanticQuery so the backend applies the
32
+ // filter PRE-cap (preserving its native ranking) and the embedder receives
33
+ // options (for requestLogger metering); a defensive post-filter is harmless.
34
+ const hits = await this.backend.semanticQuery(this.sessionId, text, opts?.k, opts?.filter, opts?.options);
32
35
  const filter = opts?.filter;
33
36
  if (!filter)
34
37
  return hits;
@@ -96,7 +99,7 @@ export class KnowledgeRag {
96
99
  return findLast(source);
97
100
  }
98
101
  }
99
- function matches(m, f) {
102
+ export function matches(m, f) {
100
103
  if (f.traceId && m.traceId !== f.traceId)
101
104
  return false;
102
105
  if (f.turnId && m.turnId !== f.turnId)
@@ -114,6 +117,22 @@ function matches(m, f) {
114
117
  if (!set.includes(m.artifactType))
115
118
  return false;
116
119
  }
120
+ if (f.runId !== undefined && m.runId !== f.runId)
121
+ return false;
122
+ if (f.seq !== undefined && m.seq !== f.seq)
123
+ return false;
124
+ if (f.attempt !== undefined && m.attempt !== f.attempt)
125
+ return false;
126
+ if (f.status !== undefined && m.status !== f.status)
127
+ return false;
128
+ if (f.stepId !== undefined && m.stepId !== f.stepId)
129
+ return false;
130
+ if (f.decisionId !== undefined && m.decisionId !== f.decisionId)
131
+ return false;
132
+ if (f.slotId !== undefined && m.slotId !== f.slotId)
133
+ return false;
134
+ if (f.kind !== undefined && m.kind !== f.kind)
135
+ return false;
117
136
  return true;
118
137
  }
119
138
  /** Default in-memory backend — no persistence across process restart, used
@@ -121,7 +140,13 @@ function matches(m, f) {
121
140
  * instance to simulate a durable backend; a true persistent backend ships
122
141
  * in the server package, see Task 13 note.) */
123
142
  export class InMemoryKnowledgeBackend {
143
+ semantic;
124
144
  bySession = new Map();
145
+ /** Optional embedder-backed index; when present, semanticQuery delegates to it
146
+ * (real ranking) — else filter + insertion order (pure unit tests). */
147
+ constructor(semantic) {
148
+ this.semantic = semantic;
149
+ }
125
150
  of(sid) {
126
151
  let a = this.bySession.get(sid);
127
152
  if (!a) {
@@ -130,11 +155,16 @@ export class InMemoryKnowledgeBackend {
130
155
  }
131
156
  return a;
132
157
  }
133
- async put(sid, entry) {
158
+ async put(sid, entry, options) {
134
159
  this.of(sid).push(entry);
135
- }
136
- async semanticQuery(sid, _text, k) {
137
- const a = this.of(sid);
160
+ await this.semantic?.upsert(sid, entry, options);
161
+ }
162
+ async semanticQuery(sid, text, k, filter, options) {
163
+ if (this.semantic)
164
+ return this.semantic.query(sid, text, k, filter, options);
165
+ let a = this.of(sid);
166
+ if (filter)
167
+ a = a.filter((e) => matches(e.metadata, filter));
138
168
  return k ? a.slice(0, k) : a.slice();
139
169
  }
140
170
  async scan(sid) {
@@ -142,6 +172,10 @@ export class InMemoryKnowledgeBackend {
142
172
  }
143
173
  async deleteSession(sid) {
144
174
  this.bySession.delete(sid);
175
+ this.semantic?.deleteSession(sid);
176
+ }
177
+ get semanticRecallCapable() {
178
+ return this.semantic !== undefined;
145
179
  }
146
180
  }
147
181
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-rag.js","sourceRoot":"","sources":["../../src/rag/knowledge-rag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge-rag.js","sourceRoot":"","sources":["../../src/rag/knowledge-rag.ts"],"names":[],"mappings":"AAkDA;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IAIJ;IACA;IAJX,MAAM,GAAqB,EAAE,CAAC;IAEtC,YACmB,OAAyB,EACzB,SAAiB;QADjB,YAAO,GAAP,OAAO,CAAkB;QACzB,cAAS,GAAT,SAAS,CAAQ;IACjC,CAAC;IAEJ;;sCAEkC;IAClC,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK,CACT,KAGC,EACD,OAAqB;QAErB,MAAM,IAAI,GAAmB;YAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,IAAsE;QAEtE,4EAA4E;QAC5E,2EAA2E;QAC3E,6EAA6E;QAC7E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAC3C,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,CACd,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAuB;QAChC,wEAAwE;QACxE,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5E,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aAC1C,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,WAAW;QACT,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED;;mEAE+D;IAC/D,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IACrE,CAAC;IAED;4EACwE;IACxE,KAAK,CAAC,aAAa;QAGjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5E,MAAM,KAAK,GAAG,IAAI,GAAG,EAGlB,CAAC;QACJ,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YACjC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1B,yEAAyE;YACzE,0EAA0E;YAC1E,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;gBACjD,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;oBACX,WAAW,EAAE,CAAC;oBACd,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ;oBAC7B,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS;iBAChC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACvC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CACvC,CAAC;IACJ,CAAC;IAED;;sFAEkF;IAClF,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,MAAM,QAAQ,GAAG,CAAC,GAA8B,EAAE,EAAE;YAClD,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACtC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,KAAK,WAAW;oBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzE,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACF,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5E,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,UAAU,OAAO,CACrB,CAAyB,EACzB,CAAkB;IAElB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,eAAe;QAC9D,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;YACvC,CAAC,CAAC,CAAC,CAAC,YAAY;YAChB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;YAAE,OAAO,KAAK,CAAC;IAClD,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC/D,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9E,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;gDAGgD;AAChD,MAAM,OAAO,wBAAwB;IAKhB;IAJF,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IACjE;4EACwE;IACxE,YACmB,QAchB;QAdgB,aAAQ,GAAR,QAAQ,CAcxB;IACA,CAAC;IACI,EAAE,CAAC,GAAW;QACpB,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,GAAG,EAAE,CAAC;YACP,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAqB,EAAE,OAAqB;QACjE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,aAAa,CACjB,GAAW,EACX,IAAY,EACZ,CAAU,EACV,MAAwB,EACxB,OAAqB;QAErB,IAAI,IAAI,CAAC,QAAQ;YACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,MAAM;YAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;IACrC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAEA;IADnB,YACmB,KAGhB;QAHgB,UAAK,GAAL,KAAK,CAGrB;IACA,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,CAAU;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { SkillRecord } from '@mcp-abap-adt/llm-agent';
2
+ export interface SkillIdentity {
3
+ source: string;
4
+ plugin: string;
5
+ version: string;
6
+ skill: string;
7
+ group: string;
8
+ description: string;
9
+ body: string;
10
+ }
11
+ /** Split a skill body into bounded chunks by top-level H2; over-long sections split on blank
12
+ * lines, bounded to maxChars. Each chunk → a SkillRecord with a deterministic id and a
13
+ * DISTINCT retrievalText (description + heading + chunk content). FS-free, pure. */
14
+ export declare function chunkSkill(s: SkillIdentity, opts: {
15
+ maxChars: number;
16
+ }): SkillRecord[];
17
+ //# sourceMappingURL=chunker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/skills/plugin-host/chunker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;qFAEqF;AACrF,wBAAgB,UAAU,CACxB,CAAC,EAAE,aAAa,EAChB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzB,WAAW,EAAE,CAqBf"}
@@ -0,0 +1,72 @@
1
+ /** Split a skill body into bounded chunks by top-level H2; over-long sections split on blank
2
+ * lines, bounded to maxChars. Each chunk → a SkillRecord with a deterministic id and a
3
+ * DISTINCT retrievalText (description + heading + chunk content). FS-free, pure. */
4
+ export function chunkSkill(s, opts) {
5
+ const sections = splitByH2(s.body);
6
+ const out = [];
7
+ let ix = 0;
8
+ for (const sec of sections) {
9
+ for (const piece of boundSection(sec.content, opts.maxChars)) {
10
+ out.push({
11
+ id: `${s.source}:${s.plugin}@${s.version}/${s.skill}#${ix}`,
12
+ sourceId: s.source,
13
+ group: s.group,
14
+ name: sec.heading
15
+ ? `${s.plugin}/${s.skill}#${sec.heading}`
16
+ : `${s.plugin}/${s.skill}`,
17
+ retrievalText: `${s.description}\n## ${sec.heading ?? s.skill}\n${piece}`,
18
+ content: piece,
19
+ provenance: `${s.plugin}@${s.version}/${s.skill}#${sec.heading ?? ''}`,
20
+ });
21
+ ix++;
22
+ }
23
+ }
24
+ return out;
25
+ }
26
+ function splitByH2(body) {
27
+ const lines = body.split('\n');
28
+ const out = [];
29
+ let cur = null;
30
+ for (const line of lines) {
31
+ const m = /^##\s+(.*)$/.exec(line);
32
+ if (m) {
33
+ if (cur)
34
+ out.push(cur);
35
+ cur = { heading: m[1].trim(), content: '' };
36
+ }
37
+ else if (line.startsWith('# ')) {
38
+ if (!cur)
39
+ cur = { content: '' }; // top-level title → preamble section
40
+ }
41
+ else {
42
+ if (!cur)
43
+ cur = { content: '' };
44
+ cur.content += (cur.content ? '\n' : '') + line;
45
+ }
46
+ }
47
+ if (cur)
48
+ out.push(cur);
49
+ return out.filter((sec) => sec.content.trim().length > 0 || sec.heading);
50
+ }
51
+ function boundSection(content, maxChars) {
52
+ if (content.length <= maxChars)
53
+ return [content];
54
+ const paras = content.split(/\n\s*\n/);
55
+ const out = [];
56
+ let buf = '';
57
+ for (const p of paras) {
58
+ if (`${buf}\n\n${p}`.length > maxChars && buf) {
59
+ out.push(buf);
60
+ buf = p;
61
+ }
62
+ else {
63
+ buf = buf ? `${buf}\n\n${p}` : p;
64
+ }
65
+ }
66
+ if (buf)
67
+ out.push(buf);
68
+ return out.flatMap((sec) => sec.length <= maxChars
69
+ ? [sec]
70
+ : (sec.match(new RegExp(`[\\s\\S]{1,${maxChars}}`, 'g')) ?? [sec]));
71
+ }
72
+ //# sourceMappingURL=chunker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../../src/skills/plugin-host/chunker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=chunker.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.test.d.ts","sourceRoot":"","sources":["../../../src/skills/plugin-host/chunker.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import assert from 'node:assert/strict';
2
+ import { test } from 'node:test';
3
+ import { chunkSkill } from './chunker.js';
4
+ const ID = { source: 's', plugin: 'p', version: '1', skill: 'sk', group: 'g' };
5
+ test('splits by H2 and produces DISTINCT retrievalText per chunk', () => {
6
+ const body = '## Alpha\naaa\n## Beta\nbbb'; // starts at first H2 (no preamble) → exactly two chunks
7
+ const recs = chunkSkill({ ...ID, description: 'D', body }, { maxChars: 1000 });
8
+ assert.equal(recs.length, 2);
9
+ assert.notEqual(recs[0].retrievalText, recs[1].retrievalText);
10
+ assert.match(recs[0].retrievalText, /D/); // description present
11
+ assert.match(recs[0].retrievalText, /Alpha/); // heading present
12
+ assert.equal(recs[0].id, 's:p@1/sk#0');
13
+ assert.equal(recs[1].id, 's:p@1/sk#1');
14
+ assert.equal(recs[0].group, 'g');
15
+ assert.equal(recs[0].sourceId, 's');
16
+ });
17
+ test('content BEFORE the first H2 (preamble) becomes its own leading chunk', () => {
18
+ const body = '# Title\nintro text\n## Alpha\naaa';
19
+ const recs = chunkSkill({ ...ID, description: 'D', body }, { maxChars: 1000 });
20
+ assert.equal(recs.length, 2); // [preamble "intro text", "Alpha"]
21
+ assert.match(recs[0].content, /intro text/);
22
+ assert.match(recs[1].retrievalText, /Alpha/);
23
+ });
24
+ test('over-long section splits further; ids stay deterministic', () => {
25
+ const body = `## Big\n${'x'.repeat(50)}\n\n${'y'.repeat(50)}`;
26
+ const recs = chunkSkill({ ...ID, description: 'D', body }, { maxChars: 60 });
27
+ assert.ok(recs.length >= 2);
28
+ const again = chunkSkill({ ...ID, description: 'D', body }, { maxChars: 60 });
29
+ assert.deepEqual(recs.map((r) => r.id), again.map((r) => r.id));
30
+ });
31
+ //# sourceMappingURL=chunker.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.test.js","sourceRoot":"","sources":["../../../src/skills/plugin-host/chunker.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { IEmbedder, ISkillsRagBackend, ISkillsRagHandle } from '@mcp-abap-adt/llm-agent';
2
+ export interface CompatibleSkillsRagDeps {
3
+ backend: ISkillsRagBackend;
4
+ embedder: IEmbedder;
5
+ embeddingSpaceId: string;
6
+ retrievalSchemaVersion: number;
7
+ dimension?: number;
8
+ /** Best-effort time-grace bound (P1.4): cap the vector read with a deadline AbortSignal so
9
+ * a query cannot outlive the backend's retention grace. Set `< retiredGraceMs` for a
10
+ * time-grace (Qdrant) backend; omit for the exact-lease (in-memory) backend. */
11
+ recallTimeoutMs?: number;
12
+ }
13
+ export declare function makeCompatibleSkillsRag(deps: CompatibleSkillsRagDeps): ISkillsRagHandle;
14
+ //# sourceMappingURL=compatible-skills-rag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatible-skills-rag.d.ts","sourceRoot":"","sources":["../../../src/skills/plugin-host/compatible-skills-rag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAGjB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;qFAEiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,uBAAuB,GAC5B,gBAAgB,CA4FlB"}
@@ -0,0 +1,83 @@
1
+ import { SkillsIncompatibleError } from '@mcp-abap-adt/llm-agent'; // value (class)
2
+ export function makeCompatibleSkillsRag(deps) {
3
+ let dimension = deps.dimension;
4
+ const verdictByRevision = new Map();
5
+ const descriptor = () => ({
6
+ embeddingSpaceId: deps.embeddingSpaceId,
7
+ dimension: dimension,
8
+ retrievalSchemaVersion: deps.retrievalSchemaVersion,
9
+ });
10
+ async function ensureDimension(options) {
11
+ if (dimension === undefined) {
12
+ const probe = await deps.embedder.embed('dimension probe', options);
13
+ dimension = probe.vector.length;
14
+ }
15
+ }
16
+ function compatible(snap) {
17
+ const cached = verdictByRevision.get(snap.revision);
18
+ if (cached !== undefined)
19
+ return cached;
20
+ const d = descriptor();
21
+ const ok = snap.manifest.embeddingSpaceId === d.embeddingSpaceId &&
22
+ snap.manifest.dimension === d.dimension &&
23
+ snap.manifest.retrievalSchemaVersion === d.retrievalSchemaVersion;
24
+ verdictByRevision.set(snap.revision, ok);
25
+ if (!ok) {
26
+ // loud signal; serving never blocks on this — recall just degrades to empty.
27
+ console.error(`[skills] incompatible generation ${snap.revision}: serving descriptor ${JSON.stringify(d)} != manifest ${JSON.stringify(snap.manifest)}`);
28
+ }
29
+ return ok;
30
+ }
31
+ return {
32
+ async activeManifest(options) {
33
+ // EAGER fail-fast (startup + healthCheck): THROW on incompatibility (P1.3) so a
34
+ // recall-only load() can actually abort and healthCheck() reports the fault. Only
35
+ // the RUNTIME query() degrades to [] on incompatibility.
36
+ await ensureDimension(options);
37
+ const snap = await deps.backend.activeSnapshot(); // pins if non-null
38
+ try {
39
+ if (snap && !compatible(snap)) {
40
+ throw new SkillsIncompatibleError(`serving descriptor != active manifest for generation ${snap.revision}`);
41
+ }
42
+ return snap; // null (no active generation) is OK — empty recall, no abort
43
+ }
44
+ finally {
45
+ if (snap)
46
+ deps.backend.release?.(snap.revision);
47
+ }
48
+ },
49
+ async query(text, opts, options) {
50
+ await ensureDimension(options);
51
+ const snap = await deps.backend.activeSnapshot(); // ONCE — pins the generation (lease)
52
+ if (!snap)
53
+ return [];
54
+ try {
55
+ if (!compatible(snap))
56
+ return []; // no embed on incompatible
57
+ const { vector } = await deps.embedder.embed(text, options); // PAID step, last
58
+ // Bound the vector read with a DEADLINE so it cannot outlive a time-grace backend's
59
+ // retention window (P1.4). For the exact-lease backend recallTimeoutMs is omitted.
60
+ const sigs = [
61
+ options?.signal,
62
+ deps.recallTimeoutMs
63
+ ? AbortSignal.timeout(deps.recallTimeoutMs)
64
+ : undefined,
65
+ ].filter(Boolean);
66
+ const signal = sigs.length ? AbortSignal.any(sigs) : undefined;
67
+ const hits = await deps.backend.queryRevision(snap.revision, vector, opts.k, { ...options, signal });
68
+ const threshold = opts.threshold ?? 0.3;
69
+ return hits.filter((h) => h.score >= threshold);
70
+ }
71
+ catch (e) {
72
+ const n = e?.name;
73
+ if (n === 'AbortError' || n === 'TimeoutError')
74
+ return []; // deadline hit → empty, no crash
75
+ throw e;
76
+ }
77
+ finally {
78
+ deps.backend.release?.(snap.revision); // EXACT retention: release the lease
79
+ }
80
+ },
81
+ };
82
+ }
83
+ //# sourceMappingURL=compatible-skills-rag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatible-skills-rag.js","sourceRoot":"","sources":["../../../src/skills/plugin-host/compatible-skills-rag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compatible-skills-rag.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatible-skills-rag.test.d.ts","sourceRoot":"","sources":["../../../src/skills/plugin-host/compatible-skills-rag.test.ts"],"names":[],"mappings":""}