@salesforce/lds-adapters-sfap-einstein-ai-gateway 1.266.0-dev1 → 1.266.0-dev11

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/README.md ADDED
@@ -0,0 +1,18 @@
1
+ # SFAP Einstein AI Gateway
2
+
3
+ ## api.raml
4
+
5
+ Einstein AI gateway Wires are based on Salesforce API Platfrom(SFAP) and not Connect API.
6
+ Steps to get RAML for api.raml file
7
+
8
+ 1. Go to Mulesoft Anypoint Exchange
9
+ 2. Search for "EinsteinGPT Foundations LLM Gateway APIs" and click on the item.
10
+ 3. Click on Download button on the page and download "As RAML"
11
+ 4. Mulesoft Generated RAML is not compatible with luvio. Handrolled lots of changes. Please cherry pick the changes, don't copy/paste.
12
+
13
+ ### Update on Dec 14, 2023
14
+
15
+ - As part of addressing the SFAP header issue(W-14663142), we are overriding the createResourceRequest to support the default value for `xSfdcAppContext` header.
16
+ - Once this is addressed with correct fix, please rollback.
17
+ - Steps followed to override is listed here.
18
+ https://bookish-sniffle-l8vm2yq.pages.github.io/#/how-to/override-generated-code
@@ -770,10 +770,18 @@ function ingestSuccess$1(luvio, resourceParams, response) {
770
770
  deepFreeze(snapshot.data);
771
771
  return snapshot;
772
772
  }
773
+
773
774
  function createResourceRequest$1(config) {
774
775
  const headers = {};
775
776
  headers['x-client-feature-id'] = config.headers.xClientFeatureId;
776
- headers['x-LLM-Provider'] = config.headers.xLLMProvider;
777
+ const header_xSfdcAppContext = config.headers.xSfdcAppContext || 'EinsteinGPT'; /* Hand rolled default value*/
778
+ if (header_xSfdcAppContext !== undefined) {
779
+ headers['x-sfdc-app-context'] = header_xSfdcAppContext;
780
+ }
781
+ const header_xLLMProvider = config.headers.xLLMProvider;
782
+ if (header_xLLMProvider !== undefined) {
783
+ headers['x-LLM-Provider'] = header_xLLMProvider;
784
+ }
777
785
  return {
778
786
  baseUri: 'api.salesforce.com',
779
787
  basePath: '/ai/gpt/v1/generations',
@@ -800,7 +808,8 @@ const getGenerations_ConfigPropertyMetadata = [
800
808
  generateParamConfigMetadata('parameters', false, 2 /* Body */, 4 /* Unsupported */),
801
809
  generateParamConfigMetadata('tags', false, 2 /* Body */, 4 /* Unsupported */),
802
810
  generateParamConfigMetadata('xClientFeatureId', true, 3 /* Header */, 0 /* String */),
803
- generateParamConfigMetadata('xLLMProvider', true, 3 /* Header */, 0 /* String */),
811
+ generateParamConfigMetadata('xSfdcAppContext', false, 3 /* Header */, 0 /* String */),
812
+ generateParamConfigMetadata('xLLMProvider', false, 3 /* Header */, 0 /* String */),
804
813
  ];
805
814
  const getGenerations_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig(adapterName$1, getGenerations_ConfigPropertyMetadata);
806
815
  const createResourceParams$1 = /*#__PURE__*/ createResourceParams$2(getGenerations_ConfigPropertyMetadata);
@@ -975,9 +984,12 @@ function ingestSuccess(luvio, resourceParams, response) {
975
984
  deepFreeze(snapshot.data);
976
985
  return snapshot;
977
986
  }
987
+
978
988
  function createResourceRequest(config) {
979
989
  const headers = {};
980
990
  headers['x-client-feature-id'] = config.headers.xClientFeatureId;
991
+ headers['x-sfdc-app-context'] =
992
+ config.headers.xSfdcAppContext || 'EinsteinGPT'; /* Hand rolled default value*/
981
993
  return {
982
994
  baseUri: 'api.salesforce.com',
983
995
  basePath: '/ai/gpt/v1/feedback',
@@ -993,12 +1005,16 @@ function createResourceRequest(config) {
993
1005
  const adapterName = 'registerFeedback';
994
1006
  const registerFeedback_ConfigPropertyMetadata = [
995
1007
  generateParamConfigMetadata('id', true, 2 /* Body */, 0 /* String */),
996
- generateParamConfigMetadata('generation_id', true, 2 /* Body */, 0 /* String */),
1008
+ generateParamConfigMetadata('generation_id', false, 2 /* Body */, 0 /* String */),
1009
+ generateParamConfigMetadata('turn_id', false, 2 /* Body */, 0 /* String */),
1010
+ generateParamConfigMetadata('app_generation_id', false, 2 /* Body */, 0 /* String */),
1011
+ generateParamConfigMetadata('app_generation', false, 2 /* Body */, 0 /* String */),
997
1012
  generateParamConfigMetadata('feedback', false, 2 /* Body */, 4 /* Unsupported */),
998
1013
  generateParamConfigMetadata('feedback_text', false, 2 /* Body */, 0 /* String */),
999
1014
  generateParamConfigMetadata('source', false, 2 /* Body */, 0 /* String */),
1000
1015
  generateParamConfigMetadata('app_feedback', false, 2 /* Body */, 4 /* Unsupported */),
1001
1016
  generateParamConfigMetadata('xClientFeatureId', true, 3 /* Header */, 0 /* String */),
1017
+ generateParamConfigMetadata('xSfdcAppContext', false, 3 /* Header */, 0 /* String */),
1002
1018
  ];
1003
1019
  const registerFeedback_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig(adapterName, registerFeedback_ConfigPropertyMetadata);
1004
1020
  const createResourceParams = /*#__PURE__*/ createResourceParams$2(registerFeedback_ConfigPropertyMetadata);
@@ -7,7 +7,8 @@ export declare const getGenerations_ConfigPropertyMetadata: $64$luvio_engine_Ada
7
7
  export declare const getGenerations_ConfigPropertyNames: adapter$45$utils_AdapterValidationConfig;
8
8
  export interface GetGenerationsConfig {
9
9
  xClientFeatureId: string;
10
- xLLMProvider: string;
10
+ xSfdcAppContext?: string;
11
+ xLLMProvider?: string;
11
12
  prompt: string;
12
13
  num_generations?: number;
13
14
  max_tokens?: number;
@@ -7,8 +7,12 @@ export declare const registerFeedback_ConfigPropertyMetadata: $64$luvio_engine_A
7
7
  export declare const registerFeedback_ConfigPropertyNames: adapter$45$utils_AdapterValidationConfig;
8
8
  export interface RegisterFeedbackConfig {
9
9
  xClientFeatureId: string;
10
+ xSfdcAppContext?: string;
10
11
  id: string;
11
- generation_id: string;
12
+ generation_id?: string;
13
+ turn_id?: string;
14
+ app_generation_id?: string;
15
+ app_generation?: string;
12
16
  feedback?: string | null;
13
17
  feedback_text?: string;
14
18
  source?: string;
@@ -3,7 +3,10 @@ import { FeedbackResponseRepresentation as types_FeedbackResponseRepresentation_
3
3
  export interface ResourceRequestConfig {
4
4
  body: {
5
5
  id: string;
6
- generation_id: string;
6
+ generation_id?: string;
7
+ turn_id?: string;
8
+ app_generation_id?: string;
9
+ app_generation?: string;
7
10
  feedback?: string | null;
8
11
  feedback_text?: string;
9
12
  source?: string;
@@ -13,6 +16,7 @@ export interface ResourceRequestConfig {
13
16
  };
14
17
  headers: {
15
18
  xClientFeatureId: string;
19
+ xSfdcAppContext?: string;
16
20
  };
17
21
  }
18
22
  export declare function select(luvio: $64$luvio_engine_Luvio, params: ResourceRequestConfig): $64$luvio_engine_Fragment;
@@ -20,7 +20,8 @@ export interface ResourceRequestConfig {
20
20
  };
21
21
  headers: {
22
22
  xClientFeatureId: string;
23
- xLLMProvider: string;
23
+ xSfdcAppContext?: string;
24
+ xLLMProvider?: string;
24
25
  };
25
26
  }
26
27
  export declare function select(luvio: $64$luvio_engine_Luvio, params: ResourceRequestConfig): $64$luvio_engine_Fragment;
@@ -1,5 +1,5 @@
1
1
  import { IngestPath as $64$luvio_engine_IngestPath, Luvio as $64$luvio_engine_Luvio, Store as $64$luvio_engine_Store, FragmentSelection as $64$luvio_engine_FragmentSelection, ResourceIngest as $64$luvio_engine_ResourceIngest, DurableStoreKeyMetadataMap as $64$luvio_engine_DurableStoreKeyMetadataMap, NormalizedKeyMetadata as $64$luvio_engine_NormalizedKeyMetadata } from '@luvio/engine';
2
- export declare const VERSION = "677aa3c947477cdf2196296053ea3a8d";
2
+ export declare const VERSION = "1ab8d6091197e3772731210a2d3678a9";
3
3
  export declare function validate(obj: any, path?: string): TypeError | null;
4
4
  export declare const RepresentationType: string;
5
5
  export declare function normalize(input: FeedbackRequest, existing: FeedbackRequestNormalized, path: $64$luvio_engine_IngestPath, luvio: $64$luvio_engine_Luvio, store: $64$luvio_engine_Store, timestamp: number): FeedbackRequestNormalized;
@@ -18,16 +18,22 @@ export interface FeedbackRequestNormalized {
18
18
  app_feedback?: {
19
19
  [key: string]: unknown;
20
20
  };
21
+ /** The app-specific generation text to support cases where the client further splits a generation into multiple generations. */
22
+ app_generation?: string;
23
+ /** The app-specific generation ID to support cases where client further split a generation into multiple generations. */
24
+ app_generation_id?: string;
21
25
  /** The feedback sentiment. Can be `null`. */
22
26
  feedback?: string | null;
23
27
  /** The textual representation of the feedback as provided by the user. */
24
28
  feedback_text?: string;
25
29
  /** The ID of the gateway's generation response. For example, `GenerationResponseGenerations.id`. */
26
- generation_id: string;
30
+ generation_id?: string;
27
31
  /** A unique ID for the feedback object. */
28
32
  id: string;
29
33
  /** The source of the feedback. For example, `human` or `app`. */
30
34
  source?: string;
35
+ /** The unique ID of a batch of generations to support to capture a single feedback for multiple generations. */
36
+ turn_id?: string;
31
37
  }
32
38
  /**
33
39
  *
@@ -39,9 +45,12 @@ export interface FeedbackRequest {
39
45
  app_feedback?: {
40
46
  [key: string]: unknown;
41
47
  };
48
+ app_generation?: string;
49
+ app_generation_id?: string;
42
50
  feedback?: string | null;
43
51
  feedback_text?: string;
44
- generation_id: string;
52
+ generation_id?: string;
45
53
  id: string;
46
54
  source?: string;
55
+ turn_id?: string;
47
56
  }
@@ -0,0 +1,21 @@
1
+ import type { ResourceRequest as $64$luvio_engine_ResourceRequest } from '@luvio/engine';
2
+ export interface ResourceRequestConfig {
3
+ body: {
4
+ id: string;
5
+ generation_id?: string;
6
+ turn_id?: string;
7
+ app_generation_id?: string;
8
+ app_generation?: string;
9
+ feedback?: string | null;
10
+ feedback_text?: string;
11
+ source?: string;
12
+ app_feedback?: {
13
+ [key: string]: unknown;
14
+ };
15
+ };
16
+ headers: {
17
+ xClientFeatureId: string;
18
+ xSfdcAppContext?: string;
19
+ };
20
+ }
21
+ export declare function createResourceRequest(config: ResourceRequestConfig): $64$luvio_engine_ResourceRequest;
@@ -0,0 +1,26 @@
1
+ import type { ResourceRequest as $64$luvio_engine_ResourceRequest } from '@luvio/engine';
2
+ export interface ResourceRequestConfig {
3
+ body: {
4
+ prompt: string;
5
+ num_generations?: number;
6
+ max_tokens?: number;
7
+ enable_pii_masking?: boolean;
8
+ temperature?: number;
9
+ stop_sequences?: Array<string>;
10
+ frequency_penalty?: number;
11
+ presence_penalty?: number;
12
+ model?: string;
13
+ parameters?: {
14
+ [key: string]: unknown;
15
+ };
16
+ tags?: {
17
+ [key: string]: unknown;
18
+ };
19
+ };
20
+ headers: {
21
+ xClientFeatureId: string;
22
+ xSfdcAppContext?: string;
23
+ xLLMProvider?: string;
24
+ };
25
+ }
26
+ export declare function createResourceRequest(config: ResourceRequestConfig): $64$luvio_engine_ResourceRequest;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-adapters-sfap-einstein-ai-gateway",
3
- "version": "1.266.0-dev1",
3
+ "version": "1.266.0-dev11",
4
4
  "description": "LLM Gateway API's",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "dist/es/es2018/sfap-einstein-ai-gateway.js",
@@ -32,7 +32,7 @@
32
32
  ],
33
33
  "scripts": {
34
34
  "build": "yarn build:services",
35
- "build:raml": "luvio generate src/raml/luvio.raml src/generated -p '../lds-compiler-plugins'",
35
+ "build:raml": "luvio generate src/raml/luvio.raml src/generated -p './scripts/lds-adapters-sfap-einstein-ai-gateway-plugin.js'",
36
36
  "build:services": "rollup --bundleConfigAsCjs --config rollup.config.js",
37
37
  "clean": "rm -rf dist sfdc src/generated",
38
38
  "release:core": "../../scripts/release/core.js --adapter=lds-adapters-sfap-einstein-ai-gateway",
@@ -40,10 +40,10 @@
40
40
  "test:unit": "jest"
41
41
  },
42
42
  "dependencies": {
43
- "@salesforce/lds-bindings": "^1.266.0-dev1"
43
+ "@salesforce/lds-bindings": "^1.266.0-dev11"
44
44
  },
45
45
  "devDependencies": {
46
- "@salesforce/lds-compiler-plugins": "^1.266.0-dev1"
46
+ "@salesforce/lds-compiler-plugins": "^1.266.0-dev11"
47
47
  },
48
48
  "nx": {
49
49
  "targets": {
@@ -54,6 +54,16 @@
54
54
  ]
55
55
  },
56
56
  "build:raml": {
57
+ "inputs": [
58
+ {
59
+ "externalDependencies": [
60
+ "@luvio/compiler",
61
+ "@luvio/cli"
62
+ ]
63
+ },
64
+ "{projectRoot}/**/*.raml",
65
+ "{projectRoot}/scripts/**"
66
+ ],
57
67
  "outputs": [
58
68
  "{projectRoot}/src/generated"
59
69
  ]
package/sfdc/index.js CHANGED
@@ -779,10 +779,18 @@ function ingestSuccess$1(luvio, resourceParams, response) {
779
779
  deepFreeze(snapshot.data);
780
780
  return snapshot;
781
781
  }
782
+
782
783
  function createResourceRequest$1(config) {
783
784
  const headers = {};
784
785
  headers['x-client-feature-id'] = config.headers.xClientFeatureId;
785
- headers['x-LLM-Provider'] = config.headers.xLLMProvider;
786
+ const header_xSfdcAppContext = config.headers.xSfdcAppContext || 'EinsteinGPT'; /* Hand rolled default value*/
787
+ if (header_xSfdcAppContext !== undefined) {
788
+ headers['x-sfdc-app-context'] = header_xSfdcAppContext;
789
+ }
790
+ const header_xLLMProvider = config.headers.xLLMProvider;
791
+ if (header_xLLMProvider !== undefined) {
792
+ headers['x-LLM-Provider'] = header_xLLMProvider;
793
+ }
786
794
  return {
787
795
  baseUri: 'api.salesforce.com',
788
796
  basePath: '/ai/gpt/v1/generations',
@@ -809,7 +817,8 @@ const getGenerations_ConfigPropertyMetadata = [
809
817
  generateParamConfigMetadata('parameters', false, 2 /* Body */, 4 /* Unsupported */),
810
818
  generateParamConfigMetadata('tags', false, 2 /* Body */, 4 /* Unsupported */),
811
819
  generateParamConfigMetadata('xClientFeatureId', true, 3 /* Header */, 0 /* String */),
812
- generateParamConfigMetadata('xLLMProvider', true, 3 /* Header */, 0 /* String */),
820
+ generateParamConfigMetadata('xSfdcAppContext', false, 3 /* Header */, 0 /* String */),
821
+ generateParamConfigMetadata('xLLMProvider', false, 3 /* Header */, 0 /* String */),
813
822
  ];
814
823
  const getGenerations_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig(adapterName$1, getGenerations_ConfigPropertyMetadata);
815
824
  const createResourceParams$1 = /*#__PURE__*/ createResourceParams$2(getGenerations_ConfigPropertyMetadata);
@@ -984,9 +993,12 @@ function ingestSuccess(luvio, resourceParams, response) {
984
993
  deepFreeze(snapshot.data);
985
994
  return snapshot;
986
995
  }
996
+
987
997
  function createResourceRequest(config) {
988
998
  const headers = {};
989
999
  headers['x-client-feature-id'] = config.headers.xClientFeatureId;
1000
+ headers['x-sfdc-app-context'] =
1001
+ config.headers.xSfdcAppContext || 'EinsteinGPT'; /* Hand rolled default value*/
990
1002
  return {
991
1003
  baseUri: 'api.salesforce.com',
992
1004
  basePath: '/ai/gpt/v1/feedback',
@@ -1002,12 +1014,16 @@ function createResourceRequest(config) {
1002
1014
  const adapterName = 'registerFeedback';
1003
1015
  const registerFeedback_ConfigPropertyMetadata = [
1004
1016
  generateParamConfigMetadata('id', true, 2 /* Body */, 0 /* String */),
1005
- generateParamConfigMetadata('generation_id', true, 2 /* Body */, 0 /* String */),
1017
+ generateParamConfigMetadata('generation_id', false, 2 /* Body */, 0 /* String */),
1018
+ generateParamConfigMetadata('turn_id', false, 2 /* Body */, 0 /* String */),
1019
+ generateParamConfigMetadata('app_generation_id', false, 2 /* Body */, 0 /* String */),
1020
+ generateParamConfigMetadata('app_generation', false, 2 /* Body */, 0 /* String */),
1006
1021
  generateParamConfigMetadata('feedback', false, 2 /* Body */, 4 /* Unsupported */),
1007
1022
  generateParamConfigMetadata('feedback_text', false, 2 /* Body */, 0 /* String */),
1008
1023
  generateParamConfigMetadata('source', false, 2 /* Body */, 0 /* String */),
1009
1024
  generateParamConfigMetadata('app_feedback', false, 2 /* Body */, 4 /* Unsupported */),
1010
1025
  generateParamConfigMetadata('xClientFeatureId', true, 3 /* Header */, 0 /* String */),
1026
+ generateParamConfigMetadata('xSfdcAppContext', false, 3 /* Header */, 0 /* String */),
1011
1027
  ];
1012
1028
  const registerFeedback_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig(adapterName, registerFeedback_ConfigPropertyMetadata);
1013
1029
  const createResourceParams = /*#__PURE__*/ createResourceParams$2(registerFeedback_ConfigPropertyMetadata);
@@ -1101,4 +1117,4 @@ withDefaultLuvio((luvio) => {
1101
1117
  });
1102
1118
 
1103
1119
  export { getGenerations, registerFeedback };
1104
- // version: 1.266.0-dev1-0affa7d84
1120
+ // version: 1.266.0-dev11-54133651d
package/src/raml/api.raml CHANGED
@@ -468,9 +468,18 @@ types:
468
468
  id:
469
469
  description: A unique ID for the feedback object.
470
470
  type: string
471
- generation_id:
471
+ generation_id?:
472
472
  description: The ID of the gateway's generation response. For example, `GenerationResponseGenerations.id`.
473
473
  type: string
474
+ turn_id?:
475
+ description: The unique ID of a batch of generations to support to capture a single feedback for multiple generations.
476
+ type: string
477
+ app_generation_id?:
478
+ description: The app-specific generation ID to support cases where client further split a generation into multiple generations.
479
+ type: string
480
+ app_generation?:
481
+ description: The app-specific generation text to support cases where the client further splits a generation into multiple generations.
482
+ type: string
474
483
  feedback?:
475
484
  description: The feedback sentiment. Can be `null`.
476
485
  enum:
@@ -616,9 +625,14 @@ version: v1
616
625
  'x-client-feature-id':
617
626
  type: string
618
627
  description: Client Feature Id.
628
+ 'x-sfdc-app-context':
629
+ type: string
630
+ default: EinsteinGPT
631
+ required: false
632
+ description: SFDC app context.
619
633
  'x-LLM-Provider':
620
634
  description: Provider to use.
621
- required: true
635
+ required: false
622
636
  enum:
623
637
  - OpenAI
624
638
  - Cohere
@@ -689,6 +703,11 @@ version: v1
689
703
  'x-client-feature-id':
690
704
  type: string
691
705
  description: Client Feature Id.
706
+ 'x-sfdc-app-context':
707
+ type: string
708
+ default: EinsteinGPT
709
+ required: false
710
+ description: SFDC app context.
692
711
  body:
693
712
  application/json: FeedbackRequest
694
713
  responses: