@sap-ai-sdk/orchestration 1.13.1-20250522013209.0 → 1.13.1-20250524013200.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.
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-client.d.ts","sourceRoot":"","sources":["../src/orchestration-client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAMpE,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EACV,yBAAyB,EACzB,MAAM,EAEN,aAAa,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AACjG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAOjF;;GAEG;AACH,qBAAa,mBAAmB;IAQ5B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,gBAAgB,CAAC;IACzB,OAAO,CAAC,WAAW,CAAC;IATtB;;;;;OAKG;gBAEO,MAAM,EAAE,yBAAyB,GAAG,MAAM,EAC1C,gBAAgB,CAAC,EAAE,mBAAmB,YAAA,EACtC,WAAW,CAAC,EAAE,6BAA6B,YAAA;IAY/C,cAAc,CAClB,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,qBAAqB,CAAC;IAS3B,MAAM,CACV,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,kBAAwB,EAClC,OAAO,CAAC,EAAE,aAAa,EACvB,aAAa,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;YAkB3D,cAAc;YAkCd,oBAAoB;IAyBlC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;CA8BhC"}
1
+ {"version":3,"file":"orchestration-client.d.ts","sourceRoot":"","sources":["../src/orchestration-client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAMpE,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EACV,yBAAyB,EACzB,MAAM,EAEN,aAAa,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AACjG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAOjF;;GAEG;AACH,qBAAa,mBAAmB;IAQ5B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,gBAAgB,CAAC;IACzB,OAAO,CAAC,WAAW,CAAC;IATtB;;;;;OAKG;gBAEO,MAAM,EAAE,yBAAyB,GAAG,MAAM,EAC1C,gBAAgB,CAAC,EAAE,mBAAmB,YAAA,EACtC,WAAW,CAAC,EAAE,6BAA6B,YAAA;IAY/C,cAAc,CAClB,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,qBAAqB,CAAC;IAS3B,MAAM,CACV,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,kBAAwB,EAClC,OAAO,CAAC,EAAE,aAAa,EACvB,aAAa,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;YAkB3D,cAAc;YAkCd,oBAAoB;IA0BlC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;CA8BhC"}
@@ -85,6 +85,7 @@ export class OrchestrationClient {
85
85
  const stream = OrchestrationStream._create(streamResponse, controller);
86
86
  response.stream = stream
87
87
  ._pipe(OrchestrationStream._processChunk)
88
+ ._pipe(OrchestrationStream._processToolCalls, response)
88
89
  ._pipe(OrchestrationStream._processFinishReason, response)
89
90
  ._pipe(OrchestrationStream._processTokenUsage, response);
90
91
  return response;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-client.js","sourceRoot":"","sources":["../src/orchestration-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestration-client.js","sourceRoot":"","sources":["../src/orchestration-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACL,8BAA8B,EAC9B,kDAAkD,EACnD,MAAM,iBAAiB,CAAC;AAgBzB,MAAM,MAAM,GAAG,YAAY,CAAC;IAC1B,OAAO,EAAE,eAAe;IACxB,cAAc,EAAE,sBAAsB;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAQpB;IACA;IACA;IATV;;;;;OAKG;IACH,YACU,MAA0C,EAC1C,gBAAsC,EACtC,WAA2C;QAF3C,WAAM,GAAN,MAAM,CAAoC;QAC1C,qBAAgB,GAAhB,gBAAgB,CAAsB;QACtC,gBAAW,GAAX,WAAW,CAAgC;QAEnD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM;gBACT,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;oBACnC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,6CAA6C;oBACpF,CAAC,CAAC,MAAM,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAe,EACf,aAAmC;QAEnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;YACzC,MAAM;YACN,aAAa;YACb,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,OAAO,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CACV,MAAe,EACf,UAAU,GAAG,IAAI,eAAe,EAAE,EAClC,OAAuB,EACvB,aAAmC;QAEnC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CACT,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAC9B;YACE,MAAM;YACN,aAAa;YACb,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,OAAO;SACvB,EACD,UAAU,CACX,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAuB;QAClD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAEjE,MAAM,IAAI,GACR,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;YAC7B,CAAC,CAAC,kDAAkD,CAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EACvB,MAAM,EACN,MAAM,CACP;YACH,CAAC,CAAC,8BAA8B,CAC5B,IAAI,CAAC,MAAM,EACX,MAAM,EACN,MAAM,EACN,aAAa,CACd,CAAC;QAER,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC;YAC7C,UAAU,EAAE,eAAe;YAC3B,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QAEH,OAAO,cAAc,CACnB;YACE,GAAG,EAAE,0BAA0B,YAAY,aAAa;YACxD,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;SACjC,EACD,IAAI,EACJ,aAAa,EACb,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,OAAuB,EACvB,UAA2B;QAE3B,MAAM,QAAQ,GACZ,IAAI,2BAA2B,EAAoC,CAAC;QAEtE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;YAC/C,GAAG,OAAO;YACV,aAAa,EAAE;gBACb,GAAG,OAAO,CAAC,aAAa;gBACxB,YAAY,EAAE,QAAQ;gBACtB,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACvE,QAAQ,CAAC,MAAM,GAAG,MAAM;aACrB,KAAK,CAAC,mBAAmB,CAAC,aAAa,CAAC;aACxC,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,QAAQ,CAAC;aACtD,KAAK,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,QAAQ,CAAC;aACzD,KAAK,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAE3D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,MAAc;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAC7B,MAAiC;QAEjC,IAAI,YAAY,CAAC;QACjB,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC;YACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAoB,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,MAAM,GAAG,+BAA+B,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,iFAAiF,MAAM,CAAC,KAAK,EAAE,CAChG,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACxE,OAAO;YACL,GAAG,MAAM;YACT,UAAU,EAAE;gBACV,QAAQ,EAAE,QAAiC;gBAC3C,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC7B,GAAG,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,CAAC;gBAC3C,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { CompletionPostResponseStreaming, TokenUsage } from './client/api/schema/index.js';
1
+ import type { CompletionPostResponseStreaming, LlmChoiceStreaming, TokenUsage, ToolCallChunk } from './client/api/schema/index.js';
2
2
  /**
3
3
  * Orchestration stream chunk response.
4
4
  */
@@ -16,12 +16,24 @@ export declare class OrchestrationStreamChunkResponse {
16
16
  * @returns The finish reason.
17
17
  */
18
18
  getFinishReason(choiceIndex?: number): string | undefined;
19
+ /**
20
+ * Gets the delta tool calls for a specific choice index.
21
+ * @param choiceIndex - The index of the choice to parse.
22
+ * @returns The delta tool calls for the specified choice index.
23
+ */
24
+ getDeltaToolCalls(choiceIndex?: number): ToolCallChunk[] | undefined;
19
25
  /**
20
26
  * Parses the chunk response and returns the delta content.
21
27
  * @param choiceIndex - The index of the choice to parse.
22
28
  * @returns The message delta content.
23
29
  */
24
30
  getDeltaContent(choiceIndex?: number): string | undefined;
31
+ /**
32
+ * Parses the chunk response and returns the choice by index.
33
+ * @param index - The index of the choice to find.
34
+ * @returns An {@link LLMChoiceStreaming} object associated withe index.
35
+ */
36
+ findChoiceByIndex(index: number): LlmChoiceStreaming | undefined;
25
37
  private getChoices;
26
38
  }
27
39
  //# sourceMappingURL=orchestration-stream-chunk-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-stream-chunk-response.d.ts","sourceRoot":"","sources":["../src/orchestration-stream-chunk-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAE/B,UAAU,EACX,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,qBAAa,gCAAgC;aACf,IAAI,EAAE,+BAA+B;gBAArC,IAAI,EAAE,+BAA+B;IAIjE;;;OAGG;IACH,aAAa,IAAI,UAAU,GAAG,SAAS;IAIvC;;;;OAIG;IACH,eAAe,CAAC,WAAW,SAAI,GAAG,MAAM,GAAG,SAAS;IAMpD;;;;OAIG;IACH,eAAe,CAAC,WAAW,SAAI,GAAG,MAAM,GAAG,SAAS;IAMpD,OAAO,CAAC,UAAU;CAGnB"}
1
+ {"version":3,"file":"orchestration-stream-chunk-response.d.ts","sourceRoot":"","sources":["../src/orchestration-stream-chunk-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,kBAAkB,EAClB,UAAU,EACV,aAAa,EACd,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,qBAAa,gCAAgC;aACf,IAAI,EAAE,+BAA+B;gBAArC,IAAI,EAAE,+BAA+B;IAIjE;;;OAGG;IACH,aAAa,IAAI,UAAU,GAAG,SAAS;IAIvC;;;;OAIG;IACH,eAAe,CAAC,WAAW,SAAI,GAAG,MAAM,GAAG,SAAS;IAIpD;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,SAAI,GAAG,aAAa,EAAE,GAAG,SAAS;IAI/D;;;;OAIG;IACH,eAAe,CAAC,WAAW,SAAI,GAAG,MAAM,GAAG,SAAS;IAIpD;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAMhE,OAAO,CAAC,UAAU;CAGnB"}
@@ -20,7 +20,15 @@ export class OrchestrationStreamChunkResponse {
20
20
  * @returns The finish reason.
21
21
  */
22
22
  getFinishReason(choiceIndex = 0) {
23
- return this.getChoices()?.find((c) => c.index === choiceIndex)?.finish_reason;
23
+ return this.findChoiceByIndex(choiceIndex)?.finish_reason;
24
+ }
25
+ /**
26
+ * Gets the delta tool calls for a specific choice index.
27
+ * @param choiceIndex - The index of the choice to parse.
28
+ * @returns The delta tool calls for the specified choice index.
29
+ */
30
+ getDeltaToolCalls(choiceIndex = 0) {
31
+ return this.findChoiceByIndex(choiceIndex)?.delta.tool_calls;
24
32
  }
25
33
  /**
26
34
  * Parses the chunk response and returns the delta content.
@@ -28,7 +36,15 @@ export class OrchestrationStreamChunkResponse {
28
36
  * @returns The message delta content.
29
37
  */
30
38
  getDeltaContent(choiceIndex = 0) {
31
- return this.getChoices()?.find((c) => c.index === choiceIndex)?.delta.content;
39
+ return this.findChoiceByIndex(choiceIndex)?.delta.content;
40
+ }
41
+ /**
42
+ * Parses the chunk response and returns the choice by index.
43
+ * @param index - The index of the choice to find.
44
+ * @returns An {@link LLMChoiceStreaming} object associated withe index.
45
+ */
46
+ findChoiceByIndex(index) {
47
+ return this.getChoices()?.find((c) => c.index === index);
32
48
  }
33
49
  getChoices() {
34
50
  return this.data.orchestration_result?.choices;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-stream-chunk-response.js","sourceRoot":"","sources":["../src/orchestration-stream-chunk-response.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,OAAO,gCAAgC;IACf;IAA5B,YAA4B,IAAqC;QAArC,SAAI,GAAJ,IAAI,CAAiC;QAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAW,GAAG,CAAC;QAC7B,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAC5B,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CACnD,EAAE,aAAa,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAW,GAAG,CAAC;QAC7B,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAC5B,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CACnD,EAAE,KAAK,CAAC,OAAO,CAAC;IACnB,CAAC;IAEO,UAAU;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjD,CAAC;CACF"}
1
+ {"version":3,"file":"orchestration-stream-chunk-response.js","sourceRoot":"","sources":["../src/orchestration-stream-chunk-response.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,OAAO,gCAAgC;IACf;IAA5B,YAA4B,IAAqC;QAArC,SAAI,GAAJ,IAAI,CAAiC;QAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAW,GAAG,CAAC;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,GAAG,CAAC;QAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAW,GAAG,CAAC;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAC5B,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAC7C,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjD,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
- import type { TokenUsage } from './client/api/schema/index.js';
1
+ import type { ToolCallAccumulator } from './internal.js';
2
+ import type { MessageToolCalls, TokenUsage } from './client/api/schema/index.js';
2
3
  import type { OrchestrationStream } from './orchestration-stream.js';
3
4
  /**
4
5
  * Orchestration stream response.
@@ -9,12 +10,22 @@ export declare class OrchestrationStreamResponse<T> {
9
10
  * Finish reasons for all choices.
10
11
  */
11
12
  private _finishReasons;
13
+ private _toolCallsAccumulators;
12
14
  private _stream;
15
+ /**
16
+ * Gets the token usage for the response.
17
+ * @returns The token usage for the response.
18
+ */
13
19
  getTokenUsage(): TokenUsage | undefined;
14
20
  /**
15
21
  * @internal
16
22
  */
17
23
  _setTokenUsage(usage: TokenUsage): void;
24
+ /**
25
+ * Gets the finish reason for a specific choice index.
26
+ * @param choiceIndex - The index of the choice to get the finish reason for.
27
+ * @returns The finish reason for the specified choice index.
28
+ */
18
29
  getFinishReason(choiceIndex?: number): string | undefined;
19
30
  /**
20
31
  * @internal
@@ -24,6 +35,16 @@ export declare class OrchestrationStreamResponse<T> {
24
35
  * @internal
25
36
  */
26
37
  _setFinishReasons(finishReasons: Map<number, string>): void;
38
+ /**
39
+ * Gets the tool calls for a specific choice index.
40
+ * @param choiceIndex - The index of the choice to get the tool calls for.
41
+ * @returns The tool calls for the specified choice index.
42
+ */
43
+ getToolCalls(choiceIndex?: number): MessageToolCalls | undefined;
44
+ /**
45
+ * @internal
46
+ */
47
+ _getToolCallsAccumulators(): Map<number, Map<number, ToolCallAccumulator>>;
27
48
  get stream(): OrchestrationStream<T>;
28
49
  /**
29
50
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-stream-response.d.ts","sourceRoot":"","sources":["../src/orchestration-stream-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;GAEG;AACH,qBAAa,2BAA2B,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,CAAyB;IACvC;;OAEG;IACH,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,OAAO,CAAqC;IAE7C,aAAa,IAAI,UAAU,GAAG,SAAS;IAI9C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIhC,eAAe,CAAC,WAAW,SAAI,GAAG,MAAM,GAAG,SAAS;IAI3D;;OAEG;IACH,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIxC;;OAEG;IACH,iBAAiB,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI3D,IAAI,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAKnC;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAExC;CACF"}
1
+ {"version":3,"file":"orchestration-stream-response.d.ts","sourceRoot":"","sources":["../src/orchestration-stream-response.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;GAEG;AACH,qBAAa,2BAA2B,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,CAAyB;IACvC;;OAEG;IACH,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,sBAAsB,CAGhB;IACd,OAAO,CAAC,OAAO,CAAqC;IAEpD;;;OAGG;IACI,aAAa,IAAI,UAAU,GAAG,SAAS;IAI9C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIvC;;;;OAIG;IACI,eAAe,CAAC,WAAW,SAAI,GAAG,MAAM,GAAG,SAAS;IAI3D;;OAEG;IACH,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIxC;;OAEG;IACH,iBAAiB,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI3D;;;;OAIG;IACI,YAAY,CAAC,WAAW,SAAI,GAAG,gBAAgB,GAAG,SAAS;IAuBlE;;OAEG;IACH,yBAAyB,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAI1E,IAAI,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAKnC;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAExC;CACF"}
@@ -1,3 +1,4 @@
1
+ import { isMessageToolCall } from './internal.js';
1
2
  /**
2
3
  * Orchestration stream response.
3
4
  */
@@ -7,7 +8,12 @@ export class OrchestrationStreamResponse {
7
8
  * Finish reasons for all choices.
8
9
  */
9
10
  _finishReasons = new Map();
11
+ _toolCallsAccumulators = new Map();
10
12
  _stream;
13
+ /**
14
+ * Gets the token usage for the response.
15
+ * @returns The token usage for the response.
16
+ */
11
17
  getTokenUsage() {
12
18
  return this._usage;
13
19
  }
@@ -17,6 +23,11 @@ export class OrchestrationStreamResponse {
17
23
  _setTokenUsage(usage) {
18
24
  this._usage = usage;
19
25
  }
26
+ /**
27
+ * Gets the finish reason for a specific choice index.
28
+ * @param choiceIndex - The index of the choice to get the finish reason for.
29
+ * @returns The finish reason for the specified choice index.
30
+ */
20
31
  getFinishReason(choiceIndex = 0) {
21
32
  return this._finishReasons.get(choiceIndex);
22
33
  }
@@ -32,6 +43,38 @@ export class OrchestrationStreamResponse {
32
43
  _setFinishReasons(finishReasons) {
33
44
  this._finishReasons = finishReasons;
34
45
  }
46
+ /**
47
+ * Gets the tool calls for a specific choice index.
48
+ * @param choiceIndex - The index of the choice to get the tool calls for.
49
+ * @returns The tool calls for the specified choice index.
50
+ */
51
+ getToolCalls(choiceIndex = 0) {
52
+ try {
53
+ const toolCallsAccumulators = this._toolCallsAccumulators.get(choiceIndex);
54
+ if (!toolCallsAccumulators) {
55
+ return undefined;
56
+ }
57
+ const toolCalls = [];
58
+ for (const [id, acc] of toolCallsAccumulators.entries()) {
59
+ if (isMessageToolCall(acc)) {
60
+ toolCalls.push(acc);
61
+ }
62
+ else {
63
+ throw new Error(`Tool call with id ${id} was incomplete.`);
64
+ }
65
+ }
66
+ return toolCalls;
67
+ }
68
+ catch (error) {
69
+ throw new Error(`Error while getting tool calls for choice index ${choiceIndex}: ${error}`);
70
+ }
71
+ }
72
+ /**
73
+ * @internal
74
+ */
75
+ _getToolCallsAccumulators() {
76
+ return this._toolCallsAccumulators;
77
+ }
35
78
  get stream() {
36
79
  if (!this._stream) {
37
80
  throw new Error('Response stream is undefined.');
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-stream-response.js","sourceRoot":"","sources":["../src/orchestration-stream-response.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,2BAA2B;IAC9B,MAAM,CAAyB;IACvC;;OAEG;IACK,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;IAChD,OAAO,CAAqC;IAE7C,aAAa;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAiB;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAEM,eAAe,CAAC,WAAW,GAAG,CAAC;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,aAAkC;QAClD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,IAAI,MAAM;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,MAA8B;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"orchestration-stream-response.js","sourceRoot":"","sources":["../src/orchestration-stream-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQlD;;GAEG;AACH,MAAM,OAAO,2BAA2B;IAC9B,MAAM,CAAyB;IACvC;;OAEG;IACK,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;IAChD,sBAAsB,GAG1B,IAAI,GAAG,EAAE,CAAC;IACN,OAAO,CAAqC;IAEpD;;;OAGG;IACI,aAAa;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAiB;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,WAAW,GAAG,CAAC;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,aAAkC;QAClD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,WAAW,GAAG,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,qBAAqB,GACzB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,SAAS,GAAqB,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC;gBACxD,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,mDAAmD,WAAW,KAAK,KAAK,EAAE,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,yBAAyB;QACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,IAAI,MAAM;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,MAA8B;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;CACF"}
@@ -21,6 +21,10 @@ export declare class OrchestrationStream<Item> extends SseStream<Item> {
21
21
  * @internal
22
22
  */
23
23
  static _processChunk(stream: OrchestrationStream<CompletionPostResponseStreaming>): AsyncGenerator<OrchestrationStreamChunkResponse>;
24
+ /**
25
+ * @internal
26
+ */
27
+ static _processToolCalls(stream: OrchestrationStream<OrchestrationStreamChunkResponse>, response?: OrchestrationStreamResponse<OrchestrationStreamChunkResponse>): AsyncGenerator<OrchestrationStreamChunkResponse>;
24
28
  /**
25
29
  * @internal
26
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-stream.d.ts","sourceRoot":"","sources":["../src/orchestration-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,KAAK,EACV,+BAA+B,EAEhC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAOtF;;GAEG;AACH,qBAAa,mBAAmB,CAAC,IAAI,CAAE,SAAQ,SAAS,CAAC,IAAI,CAAC;IA4HnD,QAAQ,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC;IA3H5C;;;;;OAKG;WACW,OAAO,CACnB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,eAAe,GAC1B,mBAAmB,CAAC,+BAA+B,CAAC;IASvD;;;;OAIG;WACW,aAAa,CACzB,MAAM,EAAE,mBAAmB,CAAC,+BAA+B,CAAC,GAC3D,cAAc,CAAC,gCAAgC,CAAC;IAMnD;;OAEG;WACW,oBAAoB,CAChC,MAAM,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,EAC7D,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,GACvE,cAAc,CAAC,gCAAgC,CAAC;IAgDnD;;OAEG;WACW,kBAAkB,CAC9B,MAAM,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,EAC7D,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,GACvE,cAAc,CAAC,gCAAgC,CAAC;IAanD;;;;;OAKG;WACW,qBAAqB,CACjC,MAAM,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,GAC5D,cAAc,CAAC,MAAM,CAAC;gBAWhB,QAAQ,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,EAC1C,UAAU,EAAE,eAAe;IAK7B;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EACX,SAAS,EAAE,CACT,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,EACjC,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,KACrE,aAAa,CAAC,OAAO,CAAC,EAC3B,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,GACvE,mBAAmB,CAAC,OAAO,CAAC;IAU/B;;;;OAIG;IACI,eAAe,CACpB,IAAI,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,GAC1D,mBAAmB,CAAC,MAAM,CAAC;CAM/B"}
1
+ {"version":3,"file":"orchestration-stream.d.ts","sourceRoot":"","sources":["../src/orchestration-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAE5F,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAOtF;;GAEG;AACH,qBAAa,mBAAmB,CAAC,IAAI,CAAE,SAAQ,SAAS,CAAC,IAAI,CAAC;IAwJnD,QAAQ,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC;IAvJ5C;;;;;OAKG;WACW,OAAO,CACnB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,eAAe,GAC1B,mBAAmB,CAAC,+BAA+B,CAAC;IASvD;;;;OAIG;WACW,aAAa,CACzB,MAAM,EAAE,mBAAmB,CAAC,+BAA+B,CAAC,GAC3D,cAAc,CAAC,gCAAgC,CAAC;IAMnD;;OAEG;WACW,iBAAiB,CAC7B,MAAM,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,EAC7D,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,GACvE,cAAc,CAAC,gCAAgC,CAAC;IAgCnD;;OAEG;WACW,oBAAoB,CAChC,MAAM,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,EAC7D,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,GACvE,cAAc,CAAC,gCAAgC,CAAC;IAqCnD;;OAEG;WACW,kBAAkB,CAC9B,MAAM,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,EAC7D,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,GACvE,cAAc,CAAC,gCAAgC,CAAC;IAcnD;;;;;OAKG;WACW,qBAAqB,CACjC,MAAM,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,GAC5D,cAAc,CAAC,MAAM,CAAC;gBAWhB,QAAQ,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,EAC1C,UAAU,EAAE,eAAe;IAK7B;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EACX,SAAS,EAAE,CACT,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,EACjC,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,KACrE,aAAa,CAAC,OAAO,CAAC,EAC3B,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,GACvE,mBAAmB,CAAC,OAAO,CAAC;IAU/B;;;;OAIG;IACI,eAAe,CACpB,IAAI,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,GAC1D,mBAAmB,CAAC,MAAM,CAAC;CAM/B"}
@@ -1,6 +1,7 @@
1
1
  import { createLogger } from '@sap-cloud-sdk/util';
2
2
  import { SseStream } from '@sap-ai-sdk/core';
3
3
  import { OrchestrationStreamChunkResponse } from './orchestration-stream-chunk-response.js';
4
+ import { mergeToolCallChunk } from './internal.js';
4
5
  const logger = createLogger({
5
6
  package: 'orchestration',
6
7
  messageContext: 'orchestration-chat-completion-stream'
@@ -30,38 +31,64 @@ export class OrchestrationStream extends SseStream {
30
31
  yield new OrchestrationStreamChunkResponse(chunk);
31
32
  }
32
33
  }
34
+ /**
35
+ * @internal
36
+ */
37
+ static async *_processToolCalls(stream, response) {
38
+ if (!response) {
39
+ throw new Error('Response is required to process tool calls.');
40
+ }
41
+ for await (const chunk of stream) {
42
+ chunk.data.orchestration_result?.choices.forEach(choice => {
43
+ const choiceIndex = choice.index;
44
+ const toolCallsChunks = chunk.getDeltaToolCalls(choiceIndex);
45
+ if (toolCallsChunks) {
46
+ let toolCallAccumulators = response
47
+ ._getToolCallsAccumulators()
48
+ .get(choiceIndex);
49
+ if (!toolCallAccumulators) {
50
+ toolCallAccumulators = new Map();
51
+ response
52
+ ._getToolCallsAccumulators()
53
+ .set(choiceIndex, toolCallAccumulators);
54
+ }
55
+ toolCallsChunks.map(toolCallChunk => {
56
+ const toolCallId = toolCallChunk.index;
57
+ const toolCallAccumulator = mergeToolCallChunk(toolCallChunk, toolCallAccumulators.get(toolCallId));
58
+ toolCallAccumulators.set(toolCallId, toolCallAccumulator);
59
+ });
60
+ }
61
+ });
62
+ yield chunk;
63
+ }
64
+ }
33
65
  /**
34
66
  * @internal
35
67
  */
36
68
  static async *_processFinishReason(stream, response) {
69
+ if (!response) {
70
+ throw new Error('Response is required to process finish reasons.');
71
+ }
37
72
  for await (const chunk of stream) {
38
- chunk.data.orchestration_result?.choices.forEach((choice) => {
73
+ chunk.data.orchestration_result?.choices.forEach(choice => {
39
74
  const choiceIndex = choice.index;
40
- if (choiceIndex >= 0) {
41
- const finishReason = chunk.getFinishReason(choiceIndex);
42
- if (finishReason) {
43
- if (response) {
44
- response._getFinishReasons().set(choiceIndex, finishReason);
45
- }
46
- switch (finishReason) {
47
- case 'content_filter':
48
- logger.error(`Choice ${choiceIndex}: Stream finished with content filter hit.`);
49
- break;
50
- case 'length':
51
- logger.error(`Choice ${choiceIndex}: Stream finished with token length exceeded.`);
52
- break;
53
- case 'stop':
54
- logger.debug(`Choice ${choiceIndex}: Stream finished.`);
55
- break;
56
- case 'tool_calls':
57
- logger.error(`Choice ${choiceIndex}: Stream finished with tool calls exceeded.`);
58
- break;
59
- case 'function_call':
60
- logger.error(`Choice ${choiceIndex}: Stream finished with function call exceeded.`);
61
- break;
62
- default:
63
- logger.error(`Choice ${choiceIndex}: Stream finished with unknown reason '${finishReason}'.`);
64
- }
75
+ const finishReason = chunk.getFinishReason(choiceIndex);
76
+ if (finishReason) {
77
+ response._getFinishReasons().set(choiceIndex, finishReason);
78
+ switch (finishReason) {
79
+ case 'content_filter':
80
+ logger.error(`Choice ${choiceIndex}: Stream finished with content filter hit.`);
81
+ break;
82
+ case 'length':
83
+ logger.error(`Choice ${choiceIndex}: Stream finished with token length exceeded.`);
84
+ break;
85
+ case 'stop':
86
+ case 'tool_calls':
87
+ case 'function_call':
88
+ logger.debug(`Choice ${choiceIndex}: Stream finished.`);
89
+ break;
90
+ default:
91
+ logger.error(`Choice ${choiceIndex}: Stream finished with unknown reason '${finishReason}'.`);
65
92
  }
66
93
  }
67
94
  });
@@ -72,12 +99,13 @@ export class OrchestrationStream extends SseStream {
72
99
  * @internal
73
100
  */
74
101
  static async *_processTokenUsage(stream, response) {
102
+ if (!response) {
103
+ throw new Error('Response is required to process token usage.');
104
+ }
75
105
  for await (const chunk of stream) {
76
106
  const usage = chunk.getTokenUsage();
77
107
  if (usage) {
78
- if (response) {
79
- response._setTokenUsage(usage);
80
- }
108
+ response._setTokenUsage(usage);
81
109
  logger.debug(`Token usage: ${JSON.stringify(usage)}`);
82
110
  }
83
111
  yield chunk;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-stream.js","sourceRoot":"","sources":["../src/orchestration-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestration-stream.js","sourceRoot":"","sources":["../src/orchestration-stream.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export * from './filtering.js';
2
2
  export * from './grounding.js';
3
3
  export * from './module-config.js';
4
4
  export * from './masking.js';
5
+ export * from './tool-calls.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
@@ -2,4 +2,5 @@ export * from './filtering.js';
2
2
  export * from './grounding.js';
3
3
  export * from './module-config.js';
4
4
  export * from './masking.js';
5
+ export * from './tool-calls.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { MessageToolCall, ToolCallChunk } from '../client/api/schema/index.js';
2
+ /**
3
+ * @internal
4
+ */
5
+ export type ToolCallAccumulator = {
6
+ id?: string;
7
+ type: 'function';
8
+ function: {
9
+ name?: string;
10
+ arguments?: string;
11
+ } & Record<string, any>;
12
+ } & Record<string, any>;
13
+ /**
14
+ * @internal
15
+ * Check if the accumulator is a MessageToolCall.
16
+ */
17
+ export declare function isMessageToolCall(acc: ToolCallAccumulator): acc is MessageToolCall;
18
+ /**
19
+ * Merge a stream of ToolCallChunk into a single MessageToolCall.
20
+ * @throws If the final object is missing required fields.
21
+ * @internal
22
+ */
23
+ export declare function mergeToolCallChunk(chunk: ToolCallChunk, acc?: ToolCallAccumulator): ToolCallAccumulator;
24
+ //# sourceMappingURL=tool-calls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-calls.d.ts","sourceRoot":"","sources":["../../src/util/tool-calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACd,MAAM,+BAA+B,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,mBAAmB,GACvB,GAAG,IAAI,eAAe,CAMxB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,GAAG,CAAC,EAAE,mBAAmB,GACxB,mBAAmB,CAsCrB"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @internal
3
+ * Check if the accumulator is a MessageToolCall.
4
+ */
5
+ export function isMessageToolCall(acc) {
6
+ return (typeof acc.id === 'string' &&
7
+ typeof acc.function.name === 'string' &&
8
+ typeof acc.function.arguments === 'string');
9
+ }
10
+ /**
11
+ * Merge a stream of ToolCallChunk into a single MessageToolCall.
12
+ * @throws If the final object is missing required fields.
13
+ * @internal
14
+ */
15
+ export function mergeToolCallChunk(chunk, acc) {
16
+ const accumulator = acc
17
+ ? { ...acc }
18
+ : {
19
+ type: 'function',
20
+ function: {}
21
+ };
22
+ if (chunk.id) {
23
+ accumulator.id = chunk.id;
24
+ }
25
+ // Merge any extra top‐level props
26
+ for (const key of Object.keys(chunk)) {
27
+ if (!['index', 'id', 'type', 'function'].includes(key)) {
28
+ accumulator[key] = chunk[key];
29
+ }
30
+ }
31
+ if (chunk.function) {
32
+ if (chunk.function.name) {
33
+ accumulator.function.name = chunk.function.name;
34
+ }
35
+ if (chunk.function.arguments) {
36
+ accumulator.function.arguments =
37
+ (accumulator.function.arguments || '') + chunk.function.arguments;
38
+ }
39
+ // Merge any extra function‐scoped fields
40
+ for (const key of Object.keys(chunk.function)) {
41
+ if (!['name', 'arguments'].includes(key)) {
42
+ accumulator.function[key] = chunk.function[key];
43
+ }
44
+ }
45
+ }
46
+ return accumulator;
47
+ }
48
+ //# sourceMappingURL=tool-calls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-calls.js","sourceRoot":"","sources":["../../src/util/tool-calls.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAwB;IAExB,OAAO,CACL,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;QACrC,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAC3C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAoB,EACpB,GAAyB;IAEzB,MAAM,WAAW,GAAwB,GAAG;QAC1C,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE;QACZ,CAAC,CAAC;YACE,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,EAAE;SACb,CAAC;IAEN,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACb,WAAW,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAC5B,CAAC;IAED,kCAAkC;IAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxB,WAAW,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClD,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC7B,WAAW,CAAC,QAAQ,CAAC,SAAS;gBAC5B,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtE,CAAC;QAED,yCAAyC;QACzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAI,KAAK,CAAC,QAAgB,CAAC,GAAG,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap-ai-sdk/orchestration",
3
- "version": "1.13.1-20250522013209.0",
3
+ "version": "1.13.1-20250524013200.0",
4
4
  "description": "",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -22,9 +22,9 @@
22
22
  "dependencies": {
23
23
  "@sap-cloud-sdk/util": "^4.0.2",
24
24
  "yaml": "^2.8.0",
25
- "@sap-ai-sdk/core": "^1.13.1-20250522013209.0",
26
- "@sap-ai-sdk/ai-api": "^1.13.1-20250522013209.0",
27
- "@sap-ai-sdk/prompt-registry": "^1.13.1-20250522013209.0"
25
+ "@sap-ai-sdk/core": "^1.13.1-20250524013200.0",
26
+ "@sap-ai-sdk/ai-api": "^1.13.1-20250524013200.0",
27
+ "@sap-ai-sdk/prompt-registry": "^1.13.1-20250524013200.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@sap-cloud-sdk/http-client": "^4.0.2",