@sap-ai-sdk/orchestration 1.16.1-20250724013259.0 → 1.16.1-20250726013237.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;IA0BlC;;;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;YAuB3D,cAAc;YAkCd,oBAAoB;IA4BlC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;CA8BhC"}
@@ -47,15 +47,21 @@ export class OrchestrationClient {
47
47
  return new OrchestrationResponse(response);
48
48
  }
49
49
  async stream(prompt, controller = new AbortController(), options, requestConfig) {
50
- if (typeof this.config === 'string' && options) {
51
- logger.warn('Stream options are not supported when using a JSON module config.');
50
+ try {
51
+ if (typeof this.config === 'string' && options) {
52
+ logger.warn('Stream options are not supported when using a JSON module config.');
53
+ }
54
+ return await this.createStreamResponse({
55
+ prompt,
56
+ requestConfig,
57
+ stream: true,
58
+ streamOptions: options
59
+ }, controller);
60
+ }
61
+ catch (error) {
62
+ controller.abort();
63
+ throw error;
52
64
  }
53
- return this.createStreamResponse({
54
- prompt,
55
- requestConfig,
56
- stream: true,
57
- streamOptions: options
58
- }, controller);
59
65
  }
60
66
  async executeRequest(options) {
61
67
  const { prompt, requestConfig, stream, streamOptions } = options;
@@ -85,9 +91,8 @@ export class OrchestrationClient {
85
91
  const stream = OrchestrationStream._create(streamResponse, controller);
86
92
  response.stream = stream
87
93
  ._pipe(OrchestrationStream._processChunk)
88
- ._pipe(OrchestrationStream._processToolCalls, response)
89
- ._pipe(OrchestrationStream._processFinishReason, response)
90
- ._pipe(OrchestrationStream._processTokenUsage, response);
94
+ ._pipe(OrchestrationStream._processOrchestrationStreamChunkResponse, response)
95
+ ._pipe(OrchestrationStream._processStreamEnd, response);
91
96
  return response;
92
97
  }
93
98
  /**
@@ -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":"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"}
@@ -1,27 +1,17 @@
1
- import type { ToolCallAccumulator } from './util/index.js';
2
- import type { MessageToolCalls, TokenUsage } from './client/api/schema/index.js';
1
+ import type { AssistantChatMessage, ChatMessages, CompletionPostResponse, MessageToolCalls, TokenUsage } from './client/api/schema/index.js';
3
2
  import type { OrchestrationStream } from './orchestration-stream.js';
4
3
  /**
5
4
  * Orchestration stream response.
6
5
  */
7
6
  export declare class OrchestrationStreamResponse<T> {
8
- private _usage;
9
- /**
10
- * Finish reasons for all choices.
11
- */
12
- private _finishReasons;
13
- private _toolCallsAccumulators;
7
+ _openStream: boolean;
8
+ _data: Partial<CompletionPostResponse>;
14
9
  private _stream;
15
- private _toolCalls;
16
10
  /**
17
11
  * Gets the token usage for the response.
18
12
  * @returns The token usage for the response.
19
13
  */
20
14
  getTokenUsage(): TokenUsage | undefined;
21
- /**
22
- * @internal
23
- */
24
- _setTokenUsage(usage: TokenUsage): void;
25
15
  /**
26
16
  * Gets the finish reason for a specific choice index.
27
17
  * @param choiceIndex - The index of the choice to get the finish reason for.
@@ -29,28 +19,41 @@ export declare class OrchestrationStreamResponse<T> {
29
19
  */
30
20
  getFinishReason(choiceIndex?: number): string | undefined;
31
21
  /**
32
- * @internal
22
+ * Parses the orchestration response and returns the content.
23
+ * If the response was filtered, an error is thrown.
24
+ * @param choiceIndex - The index of the choice to parse.
25
+ * @returns The message content.
33
26
  */
34
- _getFinishReasons(): Map<number, string>;
27
+ getContent(choiceIndex?: number): string | undefined;
35
28
  /**
36
- * @internal
29
+ * Parses the orchestration response and returns the tool calls generated by the model.
30
+ * @param choiceIndex - The index of the choice to parse.
31
+ * @returns The message tool calls.
37
32
  */
38
- _setFinishReasons(finishReasons: Map<number, string>): void;
33
+ getToolCalls(choiceIndex?: number): MessageToolCalls | undefined;
39
34
  /**
40
- * Gets the tool calls for a specific choice index.
41
- * @param choiceIndex - The index of the choice to get the tool calls for.
42
- * @returns The tool calls for the specified choice index.
35
+ * Parses the orchestration response and returns the refusal message generated by the model.
36
+ * @param choiceIndex - The index of the choice to parse.
37
+ * @returns The refusal string.
43
38
  */
44
- getToolCalls(choiceIndex?: number): MessageToolCalls | undefined;
39
+ getRefusal(choiceIndex?: number): string | undefined;
45
40
  /**
46
- * @internal
41
+ * Messages that can be used for subsequent prompts as message history.
42
+ * @param choiceIndex - The index of the choice to parse.
43
+ * @returns A list of all messages.
47
44
  */
48
- _setToolCalls(choiceIndex: number, toolCalls: MessageToolCalls): void;
45
+ getAllMessages(choiceIndex?: number): ChatMessages | undefined;
49
46
  /**
50
- * @internal
47
+ * Gets the assistant message from the response.
48
+ * @param choiceIndex - The index of the choice to use (default is 0).
49
+ * @returns The assistant message.
51
50
  */
52
- _getToolCallsAccumulators(): Map<number, Map<number, ToolCallAccumulator>>;
51
+ getAssistantMessage(choiceIndex?: number): AssistantChatMessage | undefined;
52
+ getResponse(): CompletionPostResponse | undefined;
53
53
  get stream(): OrchestrationStream<T>;
54
+ private getChoices;
55
+ private findChoiceByIndex;
56
+ private isStreamOpen;
54
57
  /**
55
58
  * @internal
56
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-stream-response.d.ts","sourceRoot":"","sources":["../src/orchestration-stream-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,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;IACpD,OAAO,CAAC,UAAU,CAA4C;IAE9D;;;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;IAIlE;;OAEG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIrE;;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
+ {"version":3,"file":"orchestration-stream-response.d.ts","sourceRoot":"","sources":["../src/orchestration-stream-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;GAEG;AACH,qBAAa,2BAA2B,CAAC,CAAC;IACjC,WAAW,UAAQ;IACnB,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAM;IACnD,OAAO,CAAC,OAAO,CAAqC;IAEpD;;;OAGG;IACI,aAAa,IAAI,UAAU,GAAG,SAAS;IAO9C;;;;OAIG;IACI,eAAe,CAAC,WAAW,SAAI,GAAG,MAAM,GAAG,SAAS;IAO3D;;;;;OAKG;IACI,UAAU,CAAC,WAAW,SAAI,GAAG,MAAM,GAAG,SAAS;IAQtD;;;;OAIG;IACI,YAAY,CAAC,WAAW,SAAI,GAAG,gBAAgB,GAAG,SAAS;IAQlE;;;;OAIG;IACI,UAAU,CAAC,WAAW,SAAI,GAAG,MAAM,GAAG,SAAS;IAQtD;;;;OAIG;IACI,cAAc,CAAC,WAAW,SAAI,GAAG,YAAY,GAAG,SAAS;IAShE;;;;OAIG;IAEI,mBAAmB,CACxB,WAAW,SAAI,GACd,oBAAoB,GAAG,SAAS;IAO5B,WAAW,IAAI,sBAAsB,GAAG,SAAS;IAOxD,IAAI,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAKnC;IAED,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAExC;CACF"}
@@ -2,26 +2,18 @@
2
2
  * Orchestration stream response.
3
3
  */
4
4
  export class OrchestrationStreamResponse {
5
- _usage;
6
- /**
7
- * Finish reasons for all choices.
8
- */
9
- _finishReasons = new Map();
10
- _toolCallsAccumulators = new Map();
5
+ _openStream = true;
6
+ _data = {};
11
7
  _stream;
12
- _toolCalls = new Map();
13
8
  /**
14
9
  * Gets the token usage for the response.
15
10
  * @returns The token usage for the response.
16
11
  */
17
12
  getTokenUsage() {
18
- return this._usage;
19
- }
20
- /**
21
- * @internal
22
- */
23
- _setTokenUsage(usage) {
24
- this._usage = usage;
13
+ if (this.isStreamOpen()) {
14
+ return;
15
+ }
16
+ return this._data.orchestration_result?.usage;
25
17
  }
26
18
  /**
27
19
  * Gets the finish reason for a specific choice index.
@@ -29,39 +21,77 @@ export class OrchestrationStreamResponse {
29
21
  * @returns The finish reason for the specified choice index.
30
22
  */
31
23
  getFinishReason(choiceIndex = 0) {
32
- return this._finishReasons.get(choiceIndex);
24
+ if (this.isStreamOpen()) {
25
+ return;
26
+ }
27
+ return this.findChoiceByIndex(choiceIndex)?.finish_reason;
33
28
  }
34
29
  /**
35
- * @internal
30
+ * Parses the orchestration response and returns the content.
31
+ * If the response was filtered, an error is thrown.
32
+ * @param choiceIndex - The index of the choice to parse.
33
+ * @returns The message content.
36
34
  */
37
- _getFinishReasons() {
38
- return this._finishReasons;
35
+ getContent(choiceIndex = 0) {
36
+ if (this.isStreamOpen()) {
37
+ return;
38
+ }
39
+ const choice = this.findChoiceByIndex(choiceIndex);
40
+ return choice?.message?.content;
39
41
  }
40
42
  /**
41
- * @internal
43
+ * Parses the orchestration response and returns the tool calls generated by the model.
44
+ * @param choiceIndex - The index of the choice to parse.
45
+ * @returns The message tool calls.
42
46
  */
43
- _setFinishReasons(finishReasons) {
44
- this._finishReasons = finishReasons;
47
+ getToolCalls(choiceIndex = 0) {
48
+ if (this.isStreamOpen()) {
49
+ return;
50
+ }
51
+ const choice = this.findChoiceByIndex(choiceIndex);
52
+ return choice?.message?.tool_calls;
45
53
  }
46
54
  /**
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.
55
+ * Parses the orchestration response and returns the refusal message generated by the model.
56
+ * @param choiceIndex - The index of the choice to parse.
57
+ * @returns The refusal string.
50
58
  */
51
- getToolCalls(choiceIndex = 0) {
52
- return this._toolCalls.get(choiceIndex);
59
+ getRefusal(choiceIndex = 0) {
60
+ if (this.isStreamOpen()) {
61
+ return;
62
+ }
63
+ const choice = this.findChoiceByIndex(choiceIndex);
64
+ return choice?.message?.refusal;
53
65
  }
54
66
  /**
55
- * @internal
67
+ * Messages that can be used for subsequent prompts as message history.
68
+ * @param choiceIndex - The index of the choice to parse.
69
+ * @returns A list of all messages.
56
70
  */
57
- _setToolCalls(choiceIndex, toolCalls) {
58
- this._toolCalls.set(choiceIndex, toolCalls);
71
+ getAllMessages(choiceIndex = 0) {
72
+ if (this.isStreamOpen()) {
73
+ return;
74
+ }
75
+ const messages = this._data.module_results?.templating ?? [];
76
+ const content = this.findChoiceByIndex(choiceIndex)?.message;
77
+ return content ? [...messages, content] : messages;
59
78
  }
60
79
  /**
61
- * @internal
80
+ * Gets the assistant message from the response.
81
+ * @param choiceIndex - The index of the choice to use (default is 0).
82
+ * @returns The assistant message.
62
83
  */
63
- _getToolCallsAccumulators() {
64
- return this._toolCallsAccumulators;
84
+ getAssistantMessage(choiceIndex = 0) {
85
+ if (this.isStreamOpen()) {
86
+ return;
87
+ }
88
+ return this.findChoiceByIndex(choiceIndex)?.message;
89
+ }
90
+ getResponse() {
91
+ if (this.isStreamOpen()) {
92
+ return;
93
+ }
94
+ return this._data;
65
95
  }
66
96
  get stream() {
67
97
  if (!this._stream) {
@@ -69,6 +99,18 @@ export class OrchestrationStreamResponse {
69
99
  }
70
100
  return this._stream;
71
101
  }
102
+ getChoices() {
103
+ return this._data.orchestration_result?.choices ?? [];
104
+ }
105
+ findChoiceByIndex(index) {
106
+ return this.getChoices().find((c) => c.index === index);
107
+ }
108
+ isStreamOpen() {
109
+ if (this._openStream) {
110
+ throw Error('The stream is still open, the requested data is not available yet. Please wait until the stream is closed.');
111
+ }
112
+ return this._openStream;
113
+ }
72
114
  /**
73
115
  * @internal
74
116
  */
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-stream-response.js","sourceRoot":"","sources":["../src/orchestration-stream-response.ts"],"names":[],"mappings":"AAOA;;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;IAC5C,UAAU,GAAkC,IAAI,GAAG,EAAE,CAAC;IAE9D;;;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,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,WAAmB,EAAE,SAA2B;QAC5D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC9C,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"}
1
+ {"version":3,"file":"orchestration-stream-response.js","sourceRoot":"","sources":["../src/orchestration-stream-response.ts"],"names":[],"mappings":"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"}
@@ -21,18 +21,8 @@ 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>;
28
- /**
29
- * @internal
30
- */
31
- static _processFinishReason(stream: OrchestrationStream<OrchestrationStreamChunkResponse>, response?: OrchestrationStreamResponse<OrchestrationStreamChunkResponse>): AsyncGenerator<OrchestrationStreamChunkResponse>;
32
- /**
33
- * @internal
34
- */
35
- static _processTokenUsage(stream: OrchestrationStream<OrchestrationStreamChunkResponse>, response?: OrchestrationStreamResponse<OrchestrationStreamChunkResponse>): AsyncGenerator<OrchestrationStreamChunkResponse>;
24
+ static _processOrchestrationStreamChunkResponse(stream: OrchestrationStream<OrchestrationStreamChunkResponse>, response?: OrchestrationStreamResponse<OrchestrationStreamChunkResponse>): AsyncGenerator<OrchestrationStreamChunkResponse>;
25
+ static _processStreamEnd(stream: OrchestrationStream<OrchestrationStreamChunkResponse>, response?: OrchestrationStreamResponse<OrchestrationStreamChunkResponse>): AsyncGenerator<OrchestrationStreamChunkResponse>;
36
26
  /**
37
27
  * Transform a stream of chunks into a stream of content strings.
38
28
  * @param stream - Orchestration stream.
@@ -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;AAM5F,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;IAyKnD,QAAQ,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC;IAxK5C;;;;;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;IAiDnD;;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
+ {"version":3,"file":"orchestration-stream.d.ts","sourceRoot":"","sources":["../src/orchestration-stream.ts"],"names":[],"mappings":"AAAA,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;AAEtF;;GAEG;AACH,qBAAa,mBAAmB,CAAC,IAAI,CAAE,SAAQ,SAAS,CAAC,IAAI,CAAC;IAgFnD,QAAQ,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC;IA/E5C;;;;;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;WAMrC,wCAAwC,CACpD,MAAM,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,EAC7D,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,GACvE,cAAc,CAAC,gCAAgC,CAAC;WAYrC,iBAAiB,CAC7B,MAAM,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,EAC7D,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,GACvE,cAAc,CAAC,gCAAgC,CAAC;IAWnD;;;;;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,11 +1,6 @@
1
- import { createLogger } from '@sap-cloud-sdk/util';
2
1
  import { SseStream } from '@sap-ai-sdk/core';
3
2
  import { OrchestrationStreamChunkResponse } from './orchestration-stream-chunk-response.js';
4
- import { isMessageToolCall, mergeToolCallChunk } from './internal.js';
5
- const logger = createLogger({
6
- package: 'orchestration',
7
- messageContext: 'orchestration-chat-completion-stream'
8
- });
3
+ import { mergeStreamResponse } from './util/index.js';
9
4
  /**
10
5
  * Orchestration stream containing post-processing functions.
11
6
  */
@@ -31,97 +26,23 @@ export class OrchestrationStream extends SseStream {
31
26
  yield new OrchestrationStreamChunkResponse(chunk);
32
27
  }
33
28
  }
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
- for (const [choiceIndex, toolCallsAccumulators] of response._getToolCallsAccumulators()) {
65
- const toolCalls = [];
66
- for (const [id, acc] of toolCallsAccumulators.entries()) {
67
- if (isMessageToolCall(acc)) {
68
- toolCalls.push(acc);
69
- }
70
- else {
71
- logger.error(`Error while parsing tool calls for choice index ${choiceIndex}: Tool call with id ${id} was incomplete.`);
72
- }
73
- }
74
- response._setToolCalls(choiceIndex, toolCalls);
75
- }
76
- }
77
- /**
78
- * @internal
79
- */
80
- static async *_processFinishReason(stream, response) {
29
+ static async *_processOrchestrationStreamChunkResponse(stream, response) {
81
30
  if (!response) {
82
- throw new Error('Response is required to process finish reasons.');
31
+ throw new Error('Response is required to process completion post response streaming.');
83
32
  }
84
33
  for await (const chunk of stream) {
85
- chunk.data.orchestration_result?.choices.forEach(choice => {
86
- const choiceIndex = choice.index;
87
- const finishReason = chunk.getFinishReason(choiceIndex);
88
- if (finishReason) {
89
- response._getFinishReasons().set(choiceIndex, finishReason);
90
- switch (finishReason) {
91
- case 'content_filter':
92
- logger.error(`Choice ${choiceIndex}: Stream finished with content filter hit.`);
93
- break;
94
- case 'length':
95
- logger.error(`Choice ${choiceIndex}: Stream finished with token length exceeded.`);
96
- break;
97
- case 'stop':
98
- case 'tool_calls':
99
- case 'function_call':
100
- logger.debug(`Choice ${choiceIndex}: Stream finished.`);
101
- break;
102
- default:
103
- logger.error(`Choice ${choiceIndex}: Stream finished with unknown reason '${finishReason}'.`);
104
- }
105
- }
106
- });
34
+ mergeStreamResponse(response, chunk.data);
107
35
  yield chunk;
108
36
  }
109
37
  }
110
- /**
111
- * @internal
112
- */
113
- static async *_processTokenUsage(stream, response) {
38
+ static async *_processStreamEnd(stream, response) {
114
39
  if (!response) {
115
- throw new Error('Response is required to process token usage.');
40
+ throw new Error('Response is required to process stream end.');
116
41
  }
117
42
  for await (const chunk of stream) {
118
- const usage = chunk.getTokenUsage();
119
- if (usage) {
120
- response._setTokenUsage(usage);
121
- logger.debug(`Token usage: ${JSON.stringify(usage)}`);
122
- }
123
43
  yield chunk;
124
44
  }
45
+ response._openStream = false;
125
46
  }
126
47
  /**
127
48
  * Transform a stream of chunks into a stream of content strings.
@@ -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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAKtD;;GAEG;AACH,MAAM,OAAO,mBAA0B,SAAQ,SAAe;IAgFnD;IA/ET;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CACnB,QAAsB,EACtB,UAA2B;QAE3B,MAAM,MAAM,GACV,SAAS,CAAC,oBAAoB,CAC5B,QAAQ,EACR,UAAU,CACX,CAAC;QACJ,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CACzB,MAA4D;QAE5D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,gCAAgC,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,CAAC,wCAAwC,CACpD,MAA6D,EAC7D,QAAwE;QAExE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAC7B,MAA6D,EAC7D,QAAwE;QAExE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CACjC,MAA6D;QAE7D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,MAAM,YAAY,CAAC;QACrB,CAAC;IACH,CAAC;IAED,YACS,QAAmC,EAC1C,UAA2B;QAE3B,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAHrB,aAAQ,GAAR,QAAQ,CAA2B;IAI5C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CACH,SAG2B,EAC3B,QAAwE;QAExE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,mBAAmB,CAC5B,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC/B,IAAI,CAAC,UAAU,CAChB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,mBAAmB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACI,eAAe;QAGpB,OAAO,IAAI,mBAAmB,CAC5B,GAAG,EAAE,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,IAAI,CAAC,EACrD,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;CACF"}
@@ -3,5 +3,5 @@ export * from './grounding.js';
3
3
  export * from './module-config.js';
4
4
  export * from './masking.js';
5
5
  export * from './translation.js';
6
- export * from './tool-calls.js';
6
+ export * from './stream.js';
7
7
  //# 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;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,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,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
@@ -3,5 +3,5 @@ export * from './grounding.js';
3
3
  export * from './module-config.js';
4
4
  export * from './masking.js';
5
5
  export * from './translation.js';
6
- export * from './tool-calls.js';
6
+ export * from './stream.js';
7
7
  //# 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;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,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,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CompletionPostResponseStreaming, OrchestrationStreamChunkResponse, OrchestrationStreamResponse } from '../index.js';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare function mergeStreamResponse(response: OrchestrationStreamResponse<OrchestrationStreamChunkResponse>, chunk: CompletionPostResponseStreaming): void;
6
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/util/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,+BAA+B,EAQ/B,gCAAgC,EAChC,2BAA2B,EAG5B,MAAM,aAAa,CAAC;AAOrB;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,EACvE,KAAK,EAAE,+BAA+B,GACrC,IAAI,CAWN"}
@@ -0,0 +1,168 @@
1
+ import { createLogger } from '@sap-cloud-sdk/util';
2
+ const logger = createLogger({
3
+ package: 'orchestration',
4
+ messageContext: 'stream-util'
5
+ });
6
+ /**
7
+ * @internal
8
+ */
9
+ export function mergeStreamResponse(response, chunk) {
10
+ const data = response._data;
11
+ data.request_id = chunk.request_id;
12
+ data.module_results = mergeModuleResults(data.module_results, chunk.module_results);
13
+ data.orchestration_result = mergeLlmModule(data.orchestration_result, chunk.orchestration_result);
14
+ }
15
+ function mergeModuleResults(existing, incoming) {
16
+ const mergedModuleResults = { ...existing };
17
+ for (const [moduleName, moduleResult] of Object.entries(incoming || {})) {
18
+ switch (moduleName) {
19
+ case 'llm':
20
+ mergedModuleResults[moduleName] = mergeLlmModule(mergedModuleResults[moduleName], moduleResult);
21
+ break;
22
+ case 'output_unmasking':
23
+ mergedModuleResults[moduleName] = mergeLlmChoices(mergedModuleResults[moduleName], moduleResult);
24
+ break;
25
+ default:
26
+ mergedModuleResults[moduleName] = moduleResult;
27
+ }
28
+ }
29
+ return mergedModuleResults;
30
+ }
31
+ function mergeLlmModule(existing, incoming) {
32
+ if (!incoming) {
33
+ return existing;
34
+ }
35
+ const mergedModuleResults = {
36
+ ...incoming,
37
+ usage: mergeTokenUsage(existing?.usage, incoming.usage),
38
+ choices: mergeLlmChoices(existing?.choices, incoming?.choices)
39
+ };
40
+ return mergedModuleResults;
41
+ }
42
+ function mergeTokenUsage(existing, incoming) {
43
+ if (incoming) {
44
+ logger.debug(`Token usage: ${JSON.stringify(incoming)}`);
45
+ }
46
+ return {
47
+ prompt_tokens: incoming?.prompt_tokens ?? existing?.prompt_tokens ?? 0,
48
+ completion_tokens: incoming?.completion_tokens ?? existing?.completion_tokens ?? 0,
49
+ total_tokens: incoming?.total_tokens ?? existing?.total_tokens ?? 0
50
+ };
51
+ }
52
+ function mergeLlmChoices(existing, incoming) {
53
+ const mergedChoices = [...(existing ?? [])];
54
+ for (const choice of incoming ?? []) {
55
+ const existingChoice = mergedChoices.find(c => c.index === choice.index);
56
+ if (existingChoice) {
57
+ // Merge existing choice with incoming choice
58
+ existingChoice.finish_reason = handleFinishReason(existingChoice.finish_reason, choice.finish_reason, choice.index);
59
+ existingChoice.logprobs = mergeLogProbs(existingChoice.logprobs, choice.logprobs);
60
+ existingChoice.message = mergeMessage(existingChoice.message, choice.delta);
61
+ }
62
+ else {
63
+ // Add new choice
64
+ mergedChoices.push(transformStreamingChoice(choice));
65
+ }
66
+ }
67
+ return mergedChoices;
68
+ }
69
+ function mergeMessage(existing, incoming) {
70
+ if (!incoming) {
71
+ return existing;
72
+ }
73
+ return {
74
+ role: existing.role,
75
+ content: existing.content + (incoming.content ?? ''),
76
+ tool_calls: mergeToolCalls(existing.tool_calls, incoming.tool_calls),
77
+ refusal: incoming.refusal ?? existing.refusal
78
+ };
79
+ }
80
+ function mergeToolCalls(existing, incoming) {
81
+ if (!incoming || incoming.length === 0) {
82
+ return existing;
83
+ }
84
+ if (!existing || existing.length === 0) {
85
+ return transformStreamingToolCalls(incoming);
86
+ }
87
+ const mergedToolCalls = [...existing];
88
+ for (const toolCall of incoming) {
89
+ const existingToolCall = mergedToolCalls.find(tc => tc.index === toolCall.index);
90
+ if (existingToolCall) {
91
+ // Merge existing tool call with incoming tool call
92
+ existingToolCall.function.name =
93
+ toolCall.function?.name ?? existingToolCall.function.name;
94
+ existingToolCall.function.arguments =
95
+ existingToolCall.function.arguments +
96
+ (toolCall.function?.arguments ?? '');
97
+ }
98
+ else {
99
+ // Add new tool call
100
+ mergedToolCalls.push(transformStreamingToolCall(toolCall));
101
+ }
102
+ }
103
+ return mergedToolCalls;
104
+ }
105
+ function mergeLogProbs(existing, incoming) {
106
+ if (!incoming) {
107
+ return existing;
108
+ }
109
+ if (!existing) {
110
+ return incoming;
111
+ }
112
+ return {
113
+ content: [...(existing.content ?? []), ...(incoming.content ?? [])],
114
+ refusal: [...(existing.refusal ?? []), ...(incoming.refusal ?? [])]
115
+ };
116
+ }
117
+ function handleFinishReason(existing, incoming, choiceIndex) {
118
+ if (!incoming) {
119
+ return existing ?? '';
120
+ }
121
+ switch (incoming) {
122
+ case 'content_filter':
123
+ logger.error(`Choice ${choiceIndex}: Stream finished with content filter hit.`);
124
+ break;
125
+ case 'length':
126
+ logger.error(`Choice ${choiceIndex}: Stream finished with token length exceeded.`);
127
+ break;
128
+ case 'stop':
129
+ case 'tool_calls':
130
+ case 'function_call':
131
+ logger.debug(`Choice ${choiceIndex}: Stream finished.`);
132
+ break;
133
+ default:
134
+ logger.error(`Choice ${choiceIndex}: Stream finished with unknown reason '${incoming}'.`);
135
+ }
136
+ return incoming;
137
+ }
138
+ function transformStreamingChoice(choice) {
139
+ return {
140
+ index: choice.index,
141
+ message: {
142
+ role: 'assistant',
143
+ content: choice.delta.content,
144
+ tool_calls: transformStreamingToolCalls(choice.delta.tool_calls),
145
+ refusal: choice.delta.refusal
146
+ },
147
+ finish_reason: choice.finish_reason ?? '',
148
+ logprobs: choice.logprobs
149
+ };
150
+ }
151
+ function transformStreamingToolCalls(toolCalls) {
152
+ if (!toolCalls || toolCalls.length === 0) {
153
+ return undefined;
154
+ }
155
+ return toolCalls?.map(toolCall => transformStreamingToolCall(toolCall));
156
+ }
157
+ function transformStreamingToolCall(toolCall) {
158
+ return {
159
+ index: toolCall.index,
160
+ id: toolCall.id ?? '',
161
+ type: toolCall.type ?? 'function',
162
+ function: {
163
+ name: toolCall.function?.name ?? '',
164
+ arguments: toolCall.function?.arguments ?? ''
165
+ }
166
+ };
167
+ }
168
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/util/stream.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap-ai-sdk/orchestration",
3
- "version": "1.16.1-20250724013259.0",
3
+ "version": "1.16.1-20250726013237.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.1.0",
24
24
  "yaml": "^2.8.0",
25
- "@sap-ai-sdk/core": "^1.16.1-20250724013259.0",
26
- "@sap-ai-sdk/ai-api": "^1.16.1-20250724013259.0",
27
- "@sap-ai-sdk/prompt-registry": "^1.16.1-20250724013259.0"
25
+ "@sap-ai-sdk/core": "^1.16.1-20250726013237.0",
26
+ "@sap-ai-sdk/ai-api": "^1.16.1-20250726013237.0",
27
+ "@sap-ai-sdk/prompt-registry": "^1.16.1-20250726013237.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@sap-cloud-sdk/http-client": "^4.1.0",
@@ -1,24 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,48 +0,0 @@
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
@@ -1 +0,0 @@
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"}