@sap-ai-sdk/langchain 1.13.1-20250519013239.0 → 1.13.1-20250521013214.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/openai/chat.d.ts +6 -2
- package/dist/openai/chat.d.ts.map +1 -1
- package/dist/openai/chat.js +19 -1
- package/dist/openai/chat.js.map +1 -1
- package/dist/openai/types.d.ts +14 -3
- package/dist/openai/types.d.ts.map +1 -1
- package/dist/openai/util.d.ts +14 -6
- package/dist/openai/util.d.ts.map +1 -1
- package/dist/openai/util.js +30 -15
- package/dist/openai/util.js.map +1 -1
- package/dist/orchestration/client.d.ts.map +1 -1
- package/dist/orchestration/client.js +4 -3
- package/dist/orchestration/client.js.map +1 -1
- package/dist/orchestration/types.d.ts +1 -1
- package/dist/orchestration/types.d.ts.map +1 -1
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { AzureOpenAiChatClient, AzureOpenAiEmbeddingClient } from './openai/index.js';
|
|
2
|
-
export type { AzureOpenAiChatModelParams, AzureOpenAiEmbeddingModelParams, AzureOpenAiChatCallOptions } from './openai/index.js';
|
|
2
|
+
export type { AzureOpenAiChatModelParams, AzureOpenAiEmbeddingModelParams, AzureOpenAiChatCallOptions, ChatAzureOpenAIToolType } from './openai/index.js';
|
|
3
3
|
export { OrchestrationClient } from './orchestration/index.js';
|
|
4
4
|
export type { OrchestrationCallOptions, LangchainOrchestrationModuleConfig } from './orchestration/index.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EACV,wBAAwB,EACxB,kCAAkC,EACnC,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/openai/chat.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
|
2
|
-
import type {
|
|
2
|
+
import type { BaseLanguageModelInput } from '@langchain/core/language_models/base';
|
|
3
|
+
import type { AIMessageChunk, BaseMessage } from '@langchain/core/messages';
|
|
3
4
|
import type { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager';
|
|
4
5
|
import type { ChatResult } from '@langchain/core/outputs';
|
|
5
|
-
import type { AzureOpenAiChatCallOptions, AzureOpenAiChatModelParams } from './types.js';
|
|
6
|
+
import type { AzureOpenAiChatCallOptions, AzureOpenAiChatModelParams, ChatAzureOpenAIToolType } from './types.js';
|
|
6
7
|
import type { HttpDestinationOrFetchOptions } from '@sap-cloud-sdk/connectivity';
|
|
8
|
+
import type { Runnable } from '@langchain/core/runnables';
|
|
7
9
|
/**
|
|
8
10
|
* LangChain chat client for Azure OpenAI consumption on SAP BTP.
|
|
9
11
|
*/
|
|
@@ -16,9 +18,11 @@ export declare class AzureOpenAiChatClient extends BaseChatModel<AzureOpenAiChat
|
|
|
16
18
|
frequency_penalty?: number;
|
|
17
19
|
stop?: string | string[];
|
|
18
20
|
max_tokens?: number;
|
|
21
|
+
supportsStrictToolCalling?: boolean;
|
|
19
22
|
private openAiChatClient;
|
|
20
23
|
constructor(fields: AzureOpenAiChatModelParams, destination?: HttpDestinationOrFetchOptions);
|
|
21
24
|
_llmType(): string;
|
|
22
25
|
_generate(messages: BaseMessage[], options: typeof this.ParsedCallOptions, runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;
|
|
26
|
+
bindTools(tools: ChatAzureOpenAIToolType[], kwargs?: Partial<AzureOpenAiChatCallOptions> | undefined): Runnable<BaseLanguageModelInput, AIMessageChunk, AzureOpenAiChatCallOptions>;
|
|
23
27
|
}
|
|
24
28
|
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/openai/chat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/openai/chat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAM5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,0BAA0B,CAAC;IAClF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,OAAO,CAAC,gBAAgB,CAA4B;gBAGlD,MAAM,EAAE,0BAA0B,EAClC,WAAW,CAAC,EAAE,6BAA6B;IAiB7C,QAAQ,IAAI,MAAM;IAIH,SAAS,CACtB,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,OAAO,IAAI,CAAC,iBAAiB,EACtC,UAAU,CAAC,EAAE,wBAAwB,GACpC,OAAO,CAAC,UAAU,CAAC;IAsBb,SAAS,CAChB,KAAK,EAAE,uBAAuB,EAAE,EAChC,MAAM,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,SAAS,GACvD,QAAQ,CACT,sBAAsB,EACtB,cAAc,EACd,0BAA0B,CAC3B;CAaF"}
|
package/dist/openai/chat.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AzureOpenAiChatClient as AzureOpenAiChatClientBase } from '@sap-ai-sdk/foundation-models';
|
|
2
2
|
import { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
|
3
|
-
import { mapLangchainToAiClient, mapOutputToChatResult } from './util.js';
|
|
3
|
+
import { mapLangchainToAiClient, mapOutputToChatResult, mapToolToOpenAiTool } from './util.js';
|
|
4
4
|
/**
|
|
5
5
|
* LangChain chat client for Azure OpenAI consumption on SAP BTP.
|
|
6
6
|
*/
|
|
@@ -13,6 +13,7 @@ export class AzureOpenAiChatClient extends BaseChatModel {
|
|
|
13
13
|
frequency_penalty;
|
|
14
14
|
stop;
|
|
15
15
|
max_tokens;
|
|
16
|
+
supportsStrictToolCalling;
|
|
16
17
|
openAiChatClient;
|
|
17
18
|
constructor(fields, destination) {
|
|
18
19
|
super(fields);
|
|
@@ -25,6 +26,9 @@ export class AzureOpenAiChatClient extends BaseChatModel {
|
|
|
25
26
|
this.presence_penalty = fields.presence_penalty;
|
|
26
27
|
this.frequency_penalty = fields.frequency_penalty;
|
|
27
28
|
this.max_tokens = fields.max_tokens;
|
|
29
|
+
if (fields.supportsStrictToolCalling !== undefined) {
|
|
30
|
+
this.supportsStrictToolCalling = fields.supportsStrictToolCalling;
|
|
31
|
+
}
|
|
28
32
|
}
|
|
29
33
|
_llmType() {
|
|
30
34
|
return 'azure_openai';
|
|
@@ -38,5 +42,19 @@ export class AzureOpenAiChatClient extends BaseChatModel {
|
|
|
38
42
|
await runManager?.handleLLMNewToken(typeof content === 'string' ? content : '');
|
|
39
43
|
return mapOutputToChatResult(res.data);
|
|
40
44
|
}
|
|
45
|
+
bindTools(tools, kwargs) {
|
|
46
|
+
let strict;
|
|
47
|
+
if (kwargs?.strict !== undefined) {
|
|
48
|
+
strict = kwargs.strict;
|
|
49
|
+
}
|
|
50
|
+
else if (this.supportsStrictToolCalling !== undefined) {
|
|
51
|
+
strict = this.supportsStrictToolCalling;
|
|
52
|
+
}
|
|
53
|
+
const newTools = tools.map(tool => mapToolToOpenAiTool(tool, strict));
|
|
54
|
+
return this.bind({
|
|
55
|
+
tools: newTools,
|
|
56
|
+
...kwargs
|
|
57
|
+
});
|
|
58
|
+
}
|
|
41
59
|
}
|
|
42
60
|
//# sourceMappingURL=chat.js.map
|
package/dist/openai/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/openai/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/openai/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,WAAW,CAAC;AAanB;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,aAAyC;IAClF,WAAW,CAAiB;IAC5B,KAAK,CAAiB;IACtB,UAAU,CAA0C;IACpD,IAAI,CAAU;IACd,gBAAgB,CAAU;IAC1B,iBAAiB,CAAU;IAC3B,IAAI,CAAqB;IACzB,UAAU,CAAU;IACpB,yBAAyB,CAAW;IAC5B,gBAAgB,CAA4B;IAEpD,YACE,MAAkC,EAClC,WAA2C;QAE3C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,MAAM,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,yBAAyB,CAAC;QACpE,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,cAAc,CAAC;IACxB,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,QAAuB,EACvB,OAAsC,EACtC,UAAqC;QAErC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAC3C;YACE,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC/C,OAAO,CAAC,aAAa,CACtB,CACJ,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,wCAAwC;QACxC,MAAM,UAAU,EAAE,iBAAiB,CACjC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC;QAEF,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEQ,SAAS,CAChB,KAAgC,EAChC,MAAwD;QAMxD,IAAI,MAA2B,CAAC;QAChC,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAC1C,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,QAAQ;YACf,GAAG,MAAM;SAC6B,CAAC,CAAC;IAC5C,CAAC;CACF"}
|
package/dist/openai/types.d.ts
CHANGED
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
import type { BaseLLMParams } from '@langchain/core/language_models/llms';
|
|
2
2
|
import type { BaseChatModelCallOptions, BaseChatModelParams, BindToolsInput } from '@langchain/core/language_models/chat_models';
|
|
3
|
-
import type { AzureOpenAiCreateChatCompletionRequest, AzureOpenAiChatModel, AzureOpenAiEmbeddingModel, AzureOpenAiChatCompletionsRequestCommon } from '@sap-ai-sdk/foundation-models';
|
|
3
|
+
import type { AzureOpenAiCreateChatCompletionRequest, AzureOpenAiChatModel, AzureOpenAiEmbeddingModel, AzureOpenAiChatCompletionsRequestCommon, AzureOpenAiChatCompletionTool } from '@sap-ai-sdk/foundation-models';
|
|
4
4
|
import type { CustomRequestConfig } from '@sap-ai-sdk/core';
|
|
5
5
|
import type { ModelConfig, ResourceGroupConfig } from '@sap-ai-sdk/ai-api';
|
|
6
6
|
/**
|
|
7
7
|
* Input type for {@link AzureOpenAiChatClient} initialization.
|
|
8
8
|
*/
|
|
9
|
-
export type AzureOpenAiChatModelParams = Pick<AzureOpenAiChatCompletionsRequestCommon, 'temperature' | 'top_p' | 'stop' | 'max_tokens' | 'presence_penalty' | 'frequency_penalty' | 'logit_bias' | 'user'> &
|
|
9
|
+
export type AzureOpenAiChatModelParams = Pick<AzureOpenAiChatCompletionsRequestCommon, 'temperature' | 'top_p' | 'stop' | 'max_tokens' | 'presence_penalty' | 'frequency_penalty' | 'logit_bias' | 'user'> & {
|
|
10
|
+
/**
|
|
11
|
+
* Whether the model supports the `strict` argument when passing in tools.
|
|
12
|
+
* If `undefined` the `strict` argument will not be passed to OpenAI.
|
|
13
|
+
*/
|
|
14
|
+
supportsStrictToolCalling?: boolean;
|
|
15
|
+
} & BaseChatModelParams & ModelConfig<AzureOpenAiChatModel> & ResourceGroupConfig;
|
|
16
|
+
/**
|
|
17
|
+
* Tool type for Azure OpenAI.
|
|
18
|
+
*/
|
|
19
|
+
export type ChatAzureOpenAIToolType = AzureOpenAiChatCompletionTool | BindToolsInput;
|
|
10
20
|
/**
|
|
11
21
|
* Call options for the {@link AzureOpenAiChatClient}.
|
|
12
22
|
*/
|
|
13
23
|
export type AzureOpenAiChatCallOptions = BaseChatModelCallOptions & Pick<AzureOpenAiCreateChatCompletionRequest, 'data_sources' | 'n' | 'seed' | 'logprobs' | 'top_logprobs' | 'response_format' | 'tool_choice' | 'functions' | 'function_call'> & {
|
|
14
|
-
|
|
24
|
+
strict?: boolean;
|
|
25
|
+
tools?: ChatAzureOpenAIToolType[];
|
|
15
26
|
requestConfig?: CustomRequestConfig;
|
|
16
27
|
};
|
|
17
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/openai/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACf,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EACV,sCAAsC,EACtC,oBAAoB,EACpB,yBAAyB,EACzB,uCAAuC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/openai/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACf,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EACV,sCAAsC,EACtC,oBAAoB,EACpB,yBAAyB,EACzB,uCAAuC,EACvC,6BAA6B,EAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,uCAAuC,EACrC,aAAa,GACb,OAAO,GACP,MAAM,GACN,YAAY,GACZ,kBAAkB,GAClB,mBAAmB,GACnB,YAAY,GACZ,MAAM,CACT,GAAG;IACF;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,GAAG,mBAAmB,GACrB,WAAW,CAAC,oBAAoB,CAAC,GACjC,mBAAmB,CAAC;AAEtB;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B,6BAA6B,GAC7B,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,wBAAwB,GAC/D,IAAI,CACF,sCAAsC,EACpC,cAAc,GACd,GAAG,GACH,MAAM,GACN,UAAU,GACV,cAAc,GACd,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,eAAe,CAClB,GAAG;IACF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,+BAA+B,GACzC,WAAW,CAAC,yBAAyB,CAAC,GAAG,mBAAmB,GAAG,aAAa,CAAC"}
|
package/dist/openai/util.d.ts
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { AzureOpenAiCreateChatCompletionResponse, AzureOpenAiCreateChatCompletionRequest, AzureOpenAiFunctionParameters, AzureOpenAiFunctionObject } from '@sap-ai-sdk/foundation-models';
|
|
1
|
+
import type { AzureOpenAiChatCompletionTool, AzureOpenAiCreateChatCompletionResponse, AzureOpenAiCreateChatCompletionRequest, AzureOpenAiFunctionParameters, AzureOpenAiFunctionObject } from '@sap-ai-sdk/foundation-models';
|
|
3
2
|
import type { BaseMessage } from '@langchain/core/messages';
|
|
4
3
|
import type { ChatResult } from '@langchain/core/outputs';
|
|
5
4
|
import type { AzureOpenAiChatClient } from './chat.js';
|
|
6
|
-
import type { AzureOpenAiChatCallOptions } from './types.js';
|
|
5
|
+
import type { AzureOpenAiChatCallOptions, ChatAzureOpenAIToolType } from './types.js';
|
|
7
6
|
import type { FunctionDefinition, ToolDefinition } from '@langchain/core/language_models/base';
|
|
8
7
|
/**
|
|
9
|
-
* Maps a
|
|
8
|
+
* Maps a {@link ChatAzureOpenAIToolType} to {@link AzureOpenAiFunctionObject}.
|
|
10
9
|
* @param tool - Base class for tools that accept input of any shape defined by a Zod schema.
|
|
10
|
+
* @param strict - Whether to enforce strict mode for the function call.
|
|
11
11
|
* @returns The OpenAI chat completion function.
|
|
12
12
|
* @internal
|
|
13
13
|
*/
|
|
14
|
-
export declare function mapToolToOpenAiFunction(tool:
|
|
14
|
+
export declare function mapToolToOpenAiFunction(tool: ChatAzureOpenAIToolType, strict?: boolean): AzureOpenAiFunctionObject;
|
|
15
|
+
/**
|
|
16
|
+
* Maps a LangChain {@link ChatAzureOpenAIToolType} to {@link AzureOpenAiChatCompletionTool}.
|
|
17
|
+
* @param tool - Base class for tools that accept input of any shape defined by a Zod schema.
|
|
18
|
+
* @param strict - Whether to enforce strict mode for the function call.
|
|
19
|
+
* @returns The OpenAI chat completion tool.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare function mapToolToOpenAiTool(tool: ChatAzureOpenAIToolType, strict?: boolean): AzureOpenAiChatCompletionTool;
|
|
15
23
|
/**
|
|
16
24
|
* Maps {@link AzureOpenAiCreateChatCompletionResponse} to LangChain's {@link ChatResult}.
|
|
17
25
|
* @param completionResponse - The {@link AzureOpenAiCreateChatCompletionResponse} response.
|
|
@@ -38,6 +46,6 @@ type ToolDefinitionLike = Pick<ToolDefinition, 'type'> & {
|
|
|
38
46
|
/**
|
|
39
47
|
* @internal
|
|
40
48
|
*/
|
|
41
|
-
export declare function
|
|
49
|
+
export declare function isToolDefinitionLike(tool: ChatAzureOpenAIToolType): tool is ToolDefinitionLike;
|
|
42
50
|
export {};
|
|
43
51
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/openai/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/openai/util.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,6BAA6B,EAE7B,uCAAuC,EACvC,sCAAsC,EACtC,6BAA6B,EAK7B,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACf,MAAM,sCAAsC,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,uBAAuB,EAC7B,MAAM,CAAC,EAAE,OAAO,GACf,yBAAyB,CA4B3B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,EAC7B,MAAM,CAAC,EAAE,OAAO,GACf,6BAA6B,CAK/B;AAoBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,kBAAkB,EAAE,uCAAuC,GAC1D,UAAU,CAmCZ;AAgHD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,0BAA0B,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,sCAAsC,CAsBxC;AAYD,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG;IACvD,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,GAAG;QACjD,UAAU,CAAC,EAAE,6BAA6B,CAAC;KAC5C,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,uBAAuB,GAC5B,IAAI,IAAI,kBAAkB,CAU5B"}
|
package/dist/openai/util.js
CHANGED
|
@@ -3,40 +3,56 @@ import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
|
3
3
|
import { v4 as uuidv4 } from 'uuid';
|
|
4
4
|
import { isZodSchema } from '@langchain/core/utils/types';
|
|
5
5
|
/**
|
|
6
|
-
* Maps a
|
|
6
|
+
* Maps a {@link ChatAzureOpenAIToolType} to {@link AzureOpenAiFunctionObject}.
|
|
7
7
|
* @param tool - Base class for tools that accept input of any shape defined by a Zod schema.
|
|
8
|
+
* @param strict - Whether to enforce strict mode for the function call.
|
|
8
9
|
* @returns The OpenAI chat completion function.
|
|
9
10
|
* @internal
|
|
10
11
|
*/
|
|
11
|
-
export function mapToolToOpenAiFunction(tool) {
|
|
12
|
-
if (
|
|
12
|
+
export function mapToolToOpenAiFunction(tool, strict) {
|
|
13
|
+
if (isToolDefinitionLike(tool)) {
|
|
13
14
|
return {
|
|
14
15
|
name: tool.function.name,
|
|
15
16
|
description: tool.function.description,
|
|
16
|
-
parameters: tool.function.parameters ?? {
|
|
17
|
+
parameters: tool.function.parameters ?? {
|
|
18
|
+
type: 'object',
|
|
19
|
+
properties: {}
|
|
20
|
+
},
|
|
21
|
+
... // If strict defined in kwargs
|
|
22
|
+
((strict !== undefined && { strict }) ||
|
|
23
|
+
// If strict defined in Azure OpenAI function, e.g., set previously when calling `bindTools()`.
|
|
24
|
+
// Notice that LangChain ToolDeifnition does not have strict property.
|
|
25
|
+
('strict' in tool.function &&
|
|
26
|
+
tool.function.strict !== undefined && {
|
|
27
|
+
strict: tool.function.strict
|
|
28
|
+
}))
|
|
17
29
|
};
|
|
18
30
|
}
|
|
31
|
+
// StructuredTool like object
|
|
19
32
|
return {
|
|
20
33
|
name: tool.name,
|
|
21
34
|
description: tool.description,
|
|
22
35
|
parameters: isZodSchema(tool.schema)
|
|
23
36
|
? zodToJsonSchema(tool.schema)
|
|
24
|
-
: tool.schema
|
|
37
|
+
: tool.schema,
|
|
38
|
+
...(strict !== undefined && { strict })
|
|
25
39
|
};
|
|
26
40
|
}
|
|
27
41
|
/**
|
|
28
|
-
* Maps a LangChain {@link
|
|
42
|
+
* Maps a LangChain {@link ChatAzureOpenAIToolType} to {@link AzureOpenAiChatCompletionTool}.
|
|
29
43
|
* @param tool - Base class for tools that accept input of any shape defined by a Zod schema.
|
|
44
|
+
* @param strict - Whether to enforce strict mode for the function call.
|
|
30
45
|
* @returns The OpenAI chat completion tool.
|
|
46
|
+
* @internal
|
|
31
47
|
*/
|
|
32
|
-
function mapToolToOpenAiTool(tool) {
|
|
48
|
+
export function mapToolToOpenAiTool(tool, strict) {
|
|
33
49
|
return {
|
|
34
50
|
type: 'function',
|
|
35
|
-
function: mapToolToOpenAiFunction(tool)
|
|
51
|
+
function: mapToolToOpenAiFunction(tool, strict)
|
|
36
52
|
};
|
|
37
53
|
}
|
|
38
54
|
/**
|
|
39
|
-
* Maps {@link AzureOpenAiChatCompletionMessageToolCalls} to LangChain's {@link ToolCall}.
|
|
55
|
+
* Maps {@link AzureOpenAiChatCompletionMessageToolCalls} to LangChain's {@link ToolCall} array.
|
|
40
56
|
* @param toolCalls - The {@link AzureOpenAiChatCompletionMessageToolCalls} response.
|
|
41
57
|
* @returns The LangChain {@link ToolCall}.
|
|
42
58
|
*/
|
|
@@ -152,9 +168,9 @@ function mapSystemMessageToAzureOpenAiSystemMessage(message) {
|
|
|
152
168
|
};
|
|
153
169
|
}
|
|
154
170
|
/**
|
|
155
|
-
* Maps {@link BaseMessage} to {@link
|
|
171
|
+
* Maps {@link BaseMessage} to {@link AzureOpenAiChatCompletionRequestMessage}.
|
|
156
172
|
* @param message - The message to map.
|
|
157
|
-
* @returns The {@link
|
|
173
|
+
* @returns The {@link AzureOpenAiChatCompletionRequestMessage}.
|
|
158
174
|
*/
|
|
159
175
|
// TODO: Add mapping of refusal property, once LangChain base class supports it natively.
|
|
160
176
|
function mapBaseMessageToAzureOpenAiChatMessage(message) {
|
|
@@ -199,8 +215,8 @@ export function mapLangchainToAiClient(client, messages, options) {
|
|
|
199
215
|
top_logprobs: options?.top_logprobs,
|
|
200
216
|
function_call: options?.function_call,
|
|
201
217
|
stop: options?.stop ?? client.stop,
|
|
202
|
-
functions: options?.functions?.map(mapToolToOpenAiFunction),
|
|
203
|
-
tools: options?.tools?.map(mapToolToOpenAiTool),
|
|
218
|
+
functions: options?.functions?.map(f => mapToolToOpenAiFunction(f)),
|
|
219
|
+
tools: options?.tools?.map(t => mapToolToOpenAiTool(t)),
|
|
204
220
|
tool_choice: options?.tool_choice
|
|
205
221
|
});
|
|
206
222
|
}
|
|
@@ -216,8 +232,7 @@ function removeUndefinedProperties(obj) {
|
|
|
216
232
|
/**
|
|
217
233
|
* @internal
|
|
218
234
|
*/
|
|
219
|
-
|
|
220
|
-
export function isToolDefinition(tool) {
|
|
235
|
+
export function isToolDefinitionLike(tool) {
|
|
221
236
|
return (typeof tool === 'object' &&
|
|
222
237
|
tool !== null &&
|
|
223
238
|
'type' in tool &&
|
package/dist/openai/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/openai/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/openai/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/orchestration/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAO5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,EACV,wBAAwB,EACxB,kCAAkC,EACnC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AASjF;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa,CACpD,wBAAwB,EACxB,yBAAyB,CAC1B;IAGU,mBAAmB,EAAE,kCAAkC;IACvD,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,CAAC,EAAE,mBAAmB;IACtC,WAAW,CAAC,EAAE,6BAA6B;gBAH3C,mBAAmB,EAAE,kCAAkC,EACvD,gBAAgB,GAAE,mBAAwB,EAC1C,gBAAgB,CAAC,EAAE,mBAAmB,YAAA,EACtC,WAAW,CAAC,EAAE,6BAA6B,YAAA;IAcpD,QAAQ,IAAI,MAAM;IAIlB;;;;;OAKG;IACM,IAAI,CAAC,YAAY,EACxB,UAAU,EAAE,YAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,GAChE,QAAQ,CACT,sBAAsB,EACtB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAC5B,wBAAwB,CACzB;IAQc,SAAS,CACtB,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,OAAO,IAAI,CAAC,iBAAiB,EACtC,UAAU,CAAC,EAAE,wBAAwB,GACpC,OAAO,CAAC,UAAU,CAAC;IAoCtB,OAAO,CAAC,wBAAwB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/orchestration/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAO5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,EACV,wBAAwB,EACxB,kCAAkC,EACnC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AASjF;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa,CACpD,wBAAwB,EACxB,yBAAyB,CAC1B;IAGU,mBAAmB,EAAE,kCAAkC;IACvD,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,CAAC,EAAE,mBAAmB;IACtC,WAAW,CAAC,EAAE,6BAA6B;gBAH3C,mBAAmB,EAAE,kCAAkC,EACvD,gBAAgB,GAAE,mBAAwB,EAC1C,gBAAgB,CAAC,EAAE,mBAAmB,YAAA,EACtC,WAAW,CAAC,EAAE,6BAA6B,YAAA;IAcpD,QAAQ,IAAI,MAAM;IAIlB;;;;;OAKG;IACM,IAAI,CAAC,YAAY,EACxB,UAAU,EAAE,YAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,GAChE,QAAQ,CACT,sBAAsB,EACtB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAC5B,wBAAwB,CACzB;IAQc,SAAS,CACtB,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,OAAO,IAAI,CAAC,iBAAiB,EACtC,UAAU,CAAC,EAAE,wBAAwB,GACpC,OAAO,CAAC,UAAU,CAAC;IAoCtB,OAAO,CAAC,wBAAwB;CA+BjC"}
|
|
@@ -49,9 +49,9 @@ export class OrchestrationClient extends BaseChatModel {
|
|
|
49
49
|
const { inputParams, customRequestConfig } = options;
|
|
50
50
|
const mergedOrchestrationConfig = this.mergeOrchestrationConfig(options);
|
|
51
51
|
const orchestrationClient = new OrchestrationClientBase(mergedOrchestrationConfig, this.deploymentConfig, this.destination);
|
|
52
|
-
const
|
|
52
|
+
const allMesages = mapLangchainMessagesToOrchestrationMessages(messages);
|
|
53
53
|
return orchestrationClient.chatCompletion({
|
|
54
|
-
|
|
54
|
+
messages: allMesages,
|
|
55
55
|
inputParams
|
|
56
56
|
}, customRequestConfig);
|
|
57
57
|
});
|
|
@@ -78,7 +78,8 @@ export class OrchestrationClient extends BaseChatModel {
|
|
|
78
78
|
},
|
|
79
79
|
templating: {
|
|
80
80
|
...this.orchestrationConfig.templating,
|
|
81
|
-
...(
|
|
81
|
+
...(this.orchestrationConfig.templating &&
|
|
82
|
+
isTemplate(this.orchestrationConfig.templating) &&
|
|
82
83
|
tools.length && {
|
|
83
84
|
tools: [
|
|
84
85
|
...(this.orchestrationConfig.templating.tools || []),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/orchestration/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EACL,UAAU,EACV,2CAA2C,EAC3C,qBAAqB,EACtB,MAAM,WAAW,CAAC;AAenB,SAAS,qBAAqB,CAAC,KAAU;IACvC,OAAO,CACL,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG;QAC3B,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAChE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,aAGxC;IAGU;IACA;IACA;IACA;IALT;IACE,uCAAuC;IAChC,mBAAuD,EACvD,mBAAwC,EAAE,EAC1C,gBAAsC,EACtC,WAA2C;QAElD,qDAAqD;QACrD,MAAM,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAC;QAC7C,gBAAgB,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE;YACzC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAdjB,wBAAmB,GAAnB,mBAAmB,CAAoC;QACvD,qBAAgB,GAAhB,gBAAgB,CAA0B;QAC1C,qBAAgB,GAAhB,gBAAgB,CAAsB;QACtC,gBAAW,GAAX,WAAW,CAAgC;IAYpD,CAAC;IAED,QAAQ;QACN,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACM,IAAI,CACX,UAAiE;QAMjE,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAI3B,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,QAAuB,EACvB,OAAsC,EACtC,UAAqC;QAErC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAC3C;YACE,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,EACD,GAAG,EAAE;YACH,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;YACrD,MAAM,yBAAyB,GAC7B,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,mBAAmB,GAAG,IAAI,uBAAuB,CACrD,yBAAyB,EACzB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,WAAW,CACjB,CAAC;YACF,MAAM,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/orchestration/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,6 @@ export type OrchestrationCallOptions = Pick<BaseChatModelCallOptions, 'stop' | '
|
|
|
13
13
|
* Orchestration module configuration for Langchain.
|
|
14
14
|
*/
|
|
15
15
|
export type LangchainOrchestrationModuleConfig = Omit<OrchestrationModuleConfigWithStringTemplating, 'streaming' | 'templating'> & {
|
|
16
|
-
templating
|
|
16
|
+
templating?: TemplatingModuleConfig;
|
|
17
17
|
};
|
|
18
18
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/orchestration/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,QAAQ,EACR,sBAAsB,EACtB,yBAAyB,IAAI,6CAA6C,EAC3E,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,wBAAwB,EACtB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,OAAO,GACP,SAAS,GACT,MAAM,CACT,GAAG;IACF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AAEH,MAAM,MAAM,kCAAkC,GAAG,IAAI,CACnD,6CAA6C,EAC7C,WAAW,GAAG,YAAY,CAC3B,GAAG;IACF,UAAU,EAAE,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/orchestration/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,QAAQ,EACR,sBAAsB,EACtB,yBAAyB,IAAI,6CAA6C,EAC3E,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,wBAAwB,EACtB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,OAAO,GACP,SAAS,GACT,MAAM,CACT,GAAG;IACF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AAEH,MAAM,MAAM,kCAAkC,GAAG,IAAI,CACnD,6CAA6C,EAC7C,WAAW,GAAG,YAAY,CAC3B,GAAG;IACF,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap-ai-sdk/langchain",
|
|
3
|
-
"version": "1.13.1-
|
|
3
|
+
"version": "1.13.1-20250521013214.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": [
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@sap-cloud-sdk/connectivity": "^4.0.2",
|
|
23
23
|
"uuid": "^11.1.0",
|
|
24
|
-
"@langchain/core": "0.3.
|
|
24
|
+
"@langchain/core": "0.3.56",
|
|
25
25
|
"zod-to-json-schema": "^3.24.5",
|
|
26
|
-
"@sap-ai-sdk/ai-api": "^1.13.1-
|
|
27
|
-
"@sap-ai-sdk/core": "^1.13.1-
|
|
28
|
-
"@sap-ai-sdk/foundation-models": "^1.13.1-
|
|
29
|
-
"@sap-ai-sdk/orchestration": "^1.13.1-
|
|
26
|
+
"@sap-ai-sdk/ai-api": "^1.13.1-20250521013214.0",
|
|
27
|
+
"@sap-ai-sdk/core": "^1.13.1-20250521013214.0",
|
|
28
|
+
"@sap-ai-sdk/foundation-models": "^1.13.1-20250521013214.0",
|
|
29
|
+
"@sap-ai-sdk/orchestration": "^1.13.1-20250521013214.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"zod": "^3.
|
|
32
|
+
"zod": "^3.25.7"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
35
|
"compile": "tsc",
|