@mcp-abap-adt/llm-agent 11.1.2 → 12.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 (98) hide show
  1. package/README.md +9 -2
  2. package/dist/adapters/cline-client-adapter.d.ts +18 -0
  3. package/dist/adapters/cline-client-adapter.d.ts.map +1 -0
  4. package/dist/adapters/cline-client-adapter.js +21 -0
  5. package/dist/adapters/cline-client-adapter.js.map +1 -0
  6. package/dist/api-adapters/anthropic-adapter.d.ts +10 -0
  7. package/dist/api-adapters/anthropic-adapter.d.ts.map +1 -0
  8. package/dist/api-adapters/anthropic-adapter.js +356 -0
  9. package/dist/api-adapters/anthropic-adapter.js.map +1 -0
  10. package/dist/api-adapters/index.d.ts +3 -0
  11. package/dist/api-adapters/index.d.ts.map +1 -0
  12. package/dist/api-adapters/index.js +3 -0
  13. package/dist/api-adapters/index.js.map +1 -0
  14. package/dist/api-adapters/openai-adapter.d.ts +10 -0
  15. package/dist/api-adapters/openai-adapter.d.ts.map +1 -0
  16. package/dist/api-adapters/openai-adapter.js +277 -0
  17. package/dist/api-adapters/openai-adapter.js.map +1 -0
  18. package/dist/cache/index.d.ts +4 -0
  19. package/dist/cache/index.d.ts.map +1 -0
  20. package/dist/cache/index.js +3 -0
  21. package/dist/cache/index.js.map +1 -0
  22. package/dist/cache/noop-tool-cache.d.ts +7 -0
  23. package/dist/cache/noop-tool-cache.d.ts.map +1 -0
  24. package/dist/cache/noop-tool-cache.js +8 -0
  25. package/dist/cache/noop-tool-cache.js.map +1 -0
  26. package/dist/cache/tool-cache.d.ts +14 -0
  27. package/dist/cache/tool-cache.d.ts.map +1 -0
  28. package/dist/cache/tool-cache.js +32 -0
  29. package/dist/cache/tool-cache.js.map +1 -0
  30. package/dist/cache/types.d.ts +7 -0
  31. package/dist/cache/types.d.ts.map +1 -0
  32. package/dist/cache/types.js +2 -0
  33. package/dist/cache/types.js.map +1 -0
  34. package/dist/external-tools-normalizer.d.ts +15 -0
  35. package/dist/external-tools-normalizer.d.ts.map +1 -0
  36. package/dist/external-tools-normalizer.js +146 -0
  37. package/dist/external-tools-normalizer.js.map +1 -0
  38. package/dist/index.d.ts +18 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +21 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/interfaces/api-adapter.d.ts +36 -0
  43. package/dist/interfaces/api-adapter.d.ts.map +1 -0
  44. package/dist/interfaces/api-adapter.js +9 -0
  45. package/dist/interfaces/api-adapter.js.map +1 -0
  46. package/dist/interfaces/client-adapter.d.ts +23 -0
  47. package/dist/interfaces/client-adapter.d.ts.map +1 -0
  48. package/dist/interfaces/client-adapter.js +10 -0
  49. package/dist/interfaces/client-adapter.js.map +1 -0
  50. package/dist/logger/types.d.ts +63 -0
  51. package/dist/logger/types.d.ts.map +1 -0
  52. package/dist/logger/types.js +2 -0
  53. package/dist/logger/types.js.map +1 -0
  54. package/dist/policy/fallback-llm-call-strategy.d.ts +16 -0
  55. package/dist/policy/fallback-llm-call-strategy.d.ts.map +1 -0
  56. package/dist/policy/fallback-llm-call-strategy.js +66 -0
  57. package/dist/policy/fallback-llm-call-strategy.js.map +1 -0
  58. package/dist/policy/index.d.ts +4 -0
  59. package/dist/policy/index.d.ts.map +1 -0
  60. package/dist/policy/index.js +4 -0
  61. package/dist/policy/index.js.map +1 -0
  62. package/dist/policy/non-streaming-llm-call-strategy.d.ts +6 -0
  63. package/dist/policy/non-streaming-llm-call-strategy.d.ts.map +1 -0
  64. package/dist/policy/non-streaming-llm-call-strategy.js +21 -0
  65. package/dist/policy/non-streaming-llm-call-strategy.js.map +1 -0
  66. package/dist/policy/streaming-llm-call-strategy.d.ts +6 -0
  67. package/dist/policy/streaming-llm-call-strategy.d.ts.map +1 -0
  68. package/dist/policy/streaming-llm-call-strategy.js +7 -0
  69. package/dist/policy/streaming-llm-call-strategy.js.map +1 -0
  70. package/dist/resilience/circuit-breaker-embedder.d.ts +16 -0
  71. package/dist/resilience/circuit-breaker-embedder.d.ts.map +1 -0
  72. package/dist/resilience/circuit-breaker-embedder.js +47 -0
  73. package/dist/resilience/circuit-breaker-embedder.js.map +1 -0
  74. package/dist/resilience/circuit-breaker-llm.d.ts +19 -0
  75. package/dist/resilience/circuit-breaker-llm.d.ts.map +1 -0
  76. package/dist/resilience/circuit-breaker-llm.js +72 -0
  77. package/dist/resilience/circuit-breaker-llm.js.map +1 -0
  78. package/dist/resilience/circuit-breaker.d.ts +36 -0
  79. package/dist/resilience/circuit-breaker.d.ts.map +1 -0
  80. package/dist/resilience/circuit-breaker.js +60 -0
  81. package/dist/resilience/circuit-breaker.js.map +1 -0
  82. package/dist/resilience/fallback-rag.d.ts +21 -0
  83. package/dist/resilience/fallback-rag.d.ts.map +1 -0
  84. package/dist/resilience/fallback-rag.js +80 -0
  85. package/dist/resilience/fallback-rag.js.map +1 -0
  86. package/dist/resilience/index.d.ts +5 -0
  87. package/dist/resilience/index.d.ts.map +1 -0
  88. package/dist/resilience/index.js +5 -0
  89. package/dist/resilience/index.js.map +1 -0
  90. package/dist/testing/index.d.ts +5 -2
  91. package/dist/testing/index.d.ts.map +1 -1
  92. package/dist/testing/index.js +30 -0
  93. package/dist/testing/index.js.map +1 -1
  94. package/dist/tool-call-deltas.d.ts +4 -0
  95. package/dist/tool-call-deltas.d.ts.map +1 -0
  96. package/dist/tool-call-deltas.js +25 -0
  97. package/dist/tool-call-deltas.js.map +1 -0
  98. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../src/resilience/circuit-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,MAAM,OAAO,cAAc;IACjB,MAAM,GAAiB,QAAQ,CAAC;IAChC,YAAY,GAAG,CAAC,CAAC;IACjB,QAAQ,GAAG,CAAC,CAAC;IAEZ,gBAAgB,CAAS;IACzB,gBAAgB,CAAS;IACjB,aAAa,CAGpB;IAEV,YAAY,SAA+B,EAAE;QAC3C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,IACE,IAAI,CAAC,MAAM,KAAK,MAAM;YACtB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EACnD,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,+DAA+D;IAC/D,aAAa;QACX,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,wDAAwD;IACxD,aAAa;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IACE,IAAI,CAAC,MAAM,KAAK,WAAW;YAC3B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAC1C,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAI,eAAe;QACjB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,2BAA2B;QACjD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,WAAW,CAAC;IAC7C,CAAC;IAEO,WAAW,CAAC,EAAgB;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,EAAE,KAAK,QAAQ;YAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * FallbackRag — IRag decorator wrapping a primary and fallback store.
3
+ *
4
+ * - **write** — writes go through writer(); fans out to both stores (best-effort for fallback).
5
+ * - **query** — uses primary when the embedder breaker is closed/half-open;
6
+ * routes to fallback when the breaker is open.
7
+ * - **healthCheck** — delegates to primary.
8
+ */
9
+ import type { CallOptions, IQueryEmbedding, IRag, IRagBackendWriter, RagError, RagResult, Result } from '@mcp-abap-adt/llm-agent';
10
+ import type { CircuitBreaker } from './circuit-breaker.js';
11
+ export declare class FallbackRag implements IRag {
12
+ private readonly primary;
13
+ private readonly fallback;
14
+ private readonly embedderBreaker;
15
+ constructor(primary: IRag, fallback: IRag, embedderBreaker: CircuitBreaker);
16
+ getById(id: string, options?: CallOptions): Promise<Result<RagResult | null, RagError>>;
17
+ query(embedding: IQueryEmbedding, k: number, options?: CallOptions): Promise<Result<RagResult[], RagError>>;
18
+ healthCheck(options?: CallOptions): Promise<Result<void, RagError>>;
19
+ writer(): IRagBackendWriter | undefined;
20
+ }
21
+ //# sourceMappingURL=fallback-rag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-rag.d.ts","sourceRoot":"","sources":["../../src/resilience/fallback-rag.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,IAAI,EACJ,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,MAAM,EACP,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBAAa,WAAY,YAAW,IAAI;IAEpC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAFf,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,IAAI,EACd,eAAe,EAAE,cAAc;IAG5C,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;IAMxC,KAAK,CACT,SAAS,EAAE,eAAe,EAC1B,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IAOnC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAIzE,MAAM,IAAI,iBAAiB,GAAG,SAAS;CA2CxC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * FallbackRag — IRag decorator wrapping a primary and fallback store.
3
+ *
4
+ * - **write** — writes go through writer(); fans out to both stores (best-effort for fallback).
5
+ * - **query** — uses primary when the embedder breaker is closed/half-open;
6
+ * routes to fallback when the breaker is open.
7
+ * - **healthCheck** — delegates to primary.
8
+ */
9
+ export class FallbackRag {
10
+ primary;
11
+ fallback;
12
+ embedderBreaker;
13
+ constructor(primary, fallback, embedderBreaker) {
14
+ this.primary = primary;
15
+ this.fallback = fallback;
16
+ this.embedderBreaker = embedderBreaker;
17
+ }
18
+ async getById(id, options) {
19
+ const res = await this.primary.getById(id, options);
20
+ if (res.ok && res.value !== null)
21
+ return res;
22
+ return this.fallback.getById(id, options);
23
+ }
24
+ async query(embedding, k, options) {
25
+ if (this.embedderBreaker.state === 'open') {
26
+ return this.fallback.query(embedding, k, options);
27
+ }
28
+ return this.primary.query(embedding, k, options);
29
+ }
30
+ async healthCheck(options) {
31
+ return this.primary.healthCheck(options);
32
+ }
33
+ writer() {
34
+ const pw = this.primary.writer?.();
35
+ const fw = this.fallback.writer?.();
36
+ if (!pw && !fw)
37
+ return undefined;
38
+ return {
39
+ upsertRaw: async (id, text, metadata, options) => {
40
+ const pres = pw
41
+ ? await pw.upsertRaw(id, text, metadata, options)
42
+ : { ok: true, value: undefined };
43
+ if (fw)
44
+ fw.upsertRaw(id, text, metadata, options).catch(() => { });
45
+ return pres;
46
+ },
47
+ deleteByIdRaw: async (id, options) => {
48
+ const pres = pw
49
+ ? await pw.deleteByIdRaw(id, options)
50
+ : { ok: true, value: false };
51
+ if (fw)
52
+ fw.deleteByIdRaw(id, options).catch(() => { });
53
+ return pres;
54
+ },
55
+ clearAll: async () => {
56
+ const pres = pw?.clearAll
57
+ ? await pw.clearAll()
58
+ : { ok: true, value: undefined };
59
+ if (fw?.clearAll)
60
+ fw.clearAll().catch(() => { });
61
+ return pres;
62
+ },
63
+ upsertPrecomputedRaw: async (id, text, vector, metadata, options) => {
64
+ const pres = pw?.upsertPrecomputedRaw
65
+ ? await pw.upsertPrecomputedRaw(id, text, vector, metadata, options)
66
+ : pw
67
+ ? await pw.upsertRaw(id, text, metadata, options)
68
+ : { ok: true, value: undefined };
69
+ if (fw?.upsertPrecomputedRaw) {
70
+ fw.upsertPrecomputedRaw(id, text, vector, metadata, options).catch(() => { });
71
+ }
72
+ else if (fw) {
73
+ fw.upsertRaw(id, text, metadata, options).catch(() => { });
74
+ }
75
+ return pres;
76
+ },
77
+ };
78
+ }
79
+ }
80
+ //# sourceMappingURL=fallback-rag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-rag.js","sourceRoot":"","sources":["../../src/resilience/fallback-rag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { CircuitBreaker, type CircuitBreakerConfig, type CircuitState, } from './circuit-breaker.js';
2
+ export { CircuitBreakerEmbedder } from './circuit-breaker-embedder.js';
3
+ export { CircuitBreakerLlm } from './circuit-breaker-llm.js';
4
+ export { FallbackRag } from './fallback-rag.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resilience/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { CircuitBreaker, } from './circuit-breaker.js';
2
+ export { CircuitBreakerEmbedder } from './circuit-breaker-embedder.js';
3
+ export { CircuitBreakerLlm } from './circuit-breaker-llm.js';
4
+ export { FallbackRag } from './fallback-rag.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resilience/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAGf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -4,8 +4,8 @@
4
4
  * Only exports stubs that depend solely on core interfaces.
5
5
  * Full test helpers (SmartAgent stubs, etc.) live in @mcp-abap-adt/llm-agent-server.
6
6
  */
7
- import type { ILlm } from '../interfaces/llm.js';
8
- import { type LlmFinishReason, type LlmToolCall } from '../interfaces/types.js';
7
+ import type { ILlm, IRag } from '../interfaces/index.js';
8
+ import { type LlmFinishReason, type LlmToolCall, type RagResult } from '../interfaces/types.js';
9
9
  export declare function makeLlm(responses: Array<{
10
10
  content: string;
11
11
  toolCalls?: LlmToolCall[];
@@ -13,4 +13,7 @@ export declare function makeLlm(responses: Array<{
13
13
  } | Error>): ILlm & {
14
14
  callCount: number;
15
15
  };
16
+ export declare function makeRag(queryResults?: RagResult[]): IRag & {
17
+ upsertCalls: string[];
18
+ };
16
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAEL,KAAK,eAAe,EAGpB,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAMhC,wBAAgB,OAAO,CACrB,SAAS,EAAE,KAAK,CACZ;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC,GACD,KAAK,CACR,GACA,IAAI,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CA2D9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAmB,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAEL,KAAK,eAAe,EAGpB,KAAK,WAAW,EAEhB,KAAK,SAAS,EAEf,MAAM,wBAAwB,CAAC;AAMhC,wBAAgB,OAAO,CACrB,SAAS,EAAE,KAAK,CACZ;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC,GACD,KAAK,CACR,GACA,IAAI,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CA2D9B;AAMD,wBAAgB,OAAO,CACrB,YAAY,GAAE,SAAS,EAAO,GAC7B,IAAI,GAAG;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAiClC"}
@@ -68,4 +68,34 @@ export function makeLlm(responses) {
68
68
  },
69
69
  };
70
70
  }
71
+ // ---------------------------------------------------------------------------
72
+ // RAG stubs
73
+ // ---------------------------------------------------------------------------
74
+ export function makeRag(queryResults = []) {
75
+ const upsertCalls = [];
76
+ const stub = {
77
+ upsertCalls,
78
+ async query(_embedding) {
79
+ return { ok: true, value: queryResults };
80
+ },
81
+ async healthCheck() {
82
+ return { ok: true, value: undefined };
83
+ },
84
+ async getById(_id) {
85
+ return { ok: true, value: null };
86
+ },
87
+ writer() {
88
+ return {
89
+ upsertRaw: async (_id, text) => {
90
+ upsertCalls.push(text);
91
+ return { ok: true, value: undefined };
92
+ },
93
+ deleteByIdRaw: async (_id) => {
94
+ return { ok: true, value: false };
95
+ },
96
+ };
97
+ },
98
+ };
99
+ return stub;
100
+ }
71
101
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,QAAQ,GAMT,MAAM,wBAAwB,CAAC;AAEhC,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,UAAU,OAAO,CACrB,SAOC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAC7B,OAAO;QACL,IAAI,SAAS;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,CAAC,IAAI;YACR,SAAS,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;iBACpD,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;gBAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE;oBACL,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,MAAM;iBAC1C;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,CAAC,UAAU;YACf,SAAS,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM;oBACJ,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;iBACpD,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;gBAC1B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,OAAO;YACT,CAAC;YACD,MAAM;gBACJ,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE;oBACL,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,MAAM;iBAC1C;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,WAAW;YACf,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;gBAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { LlmToolCallDelta, StreamToolCall } from '@mcp-abap-adt/llm-agent';
2
+ export declare function getStreamToolCallName(call: StreamToolCall): string | undefined;
3
+ export declare function toToolCallDelta(call: StreamToolCall, fallbackIndex: number): LlmToolCallDelta;
4
+ //# sourceMappingURL=tool-call-deltas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-deltas.d.ts","sourceRoot":"","sources":["../src/tool-call-deltas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAMjC,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,GACnB,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,cAAc,EACpB,aAAa,EAAE,MAAM,GACpB,gBAAgB,CAgBlB"}
@@ -0,0 +1,25 @@
1
+ function isLlmToolCall(call) {
2
+ return !('index' in call);
3
+ }
4
+ export function getStreamToolCallName(call) {
5
+ if (isLlmToolCall(call))
6
+ return call.name;
7
+ return typeof call.name === 'string' ? call.name : undefined;
8
+ }
9
+ export function toToolCallDelta(call, fallbackIndex) {
10
+ if (isLlmToolCall(call)) {
11
+ return {
12
+ index: fallbackIndex,
13
+ id: call.id,
14
+ name: call.name,
15
+ arguments: JSON.stringify(call.arguments),
16
+ };
17
+ }
18
+ return {
19
+ index: call.index,
20
+ id: call.id,
21
+ name: call.name,
22
+ arguments: call.arguments,
23
+ };
24
+ }
25
+ //# sourceMappingURL=tool-call-deltas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-deltas.js","sourceRoot":"","sources":["../src/tool-call-deltas.ts"],"names":[],"mappings":"AAMA,SAAS,aAAa,CAAC,IAAoB;IACzC,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAAoB;IAEpB,IAAI,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAC1C,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,IAAoB,EACpB,aAAqB;IAErB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,aAAa;YACpB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-abap-adt/llm-agent",
3
- "version": "11.1.2",
3
+ "version": "12.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",