@salesforce/sdk-chat 1.22.0 → 1.30.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 +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/mcpapps.d.ts +4 -1
- package/dist/mcpapps.d.ts.map +1 -1
- package/dist/mcpapps.js +17 -1
- package/dist/openai.d.ts +10 -2
- package/dist/openai.d.ts.map +1 -1
- package/dist/openai.js +18 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ChatSDK } from "@salesforce/sdk-core";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Create and initialize a ChatSDK instance based on the detected surface
|
|
4
|
+
*
|
|
5
|
+
* @returns Promise resolving to an initialized ChatSDK instance
|
|
6
|
+
*/
|
|
7
|
+
export declare function createChatSDK(): Promise<ChatSDK>;
|
|
8
|
+
export type { ChatMessage, ChatSDK, DisplayMode, ResourceRequest, ToolCall, ToolState, } from "@salesforce/sdk-core";
|
|
4
9
|
//# 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":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKpD;;;;GAIG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAetD;AAED,YAAY,EACX,WAAW,EACX,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACR,SAAS,GACT,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,18 +7,24 @@ import { getSurface, Surface } from "@salesforce/sdk-core";
|
|
|
7
7
|
import { MCPAppsChatSDK } from "./mcpapps.js";
|
|
8
8
|
import { OpenAIChatSDK } from "./openai.js";
|
|
9
9
|
import { SalesforceACCChatSDK } from "./salesforce-acc.js";
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Create and initialize a ChatSDK instance based on the detected surface
|
|
12
|
+
*
|
|
13
|
+
* @returns Promise resolving to an initialized ChatSDK instance
|
|
14
|
+
*/
|
|
15
|
+
export async function createChatSDK() {
|
|
11
16
|
const surface = getSurface();
|
|
12
17
|
switch (surface) {
|
|
13
18
|
case Surface.OpenAI:
|
|
14
19
|
return new OpenAIChatSDK();
|
|
15
|
-
case Surface.
|
|
20
|
+
case Surface.WebApp:
|
|
16
21
|
case Surface.MicroFrontend:
|
|
17
|
-
return
|
|
22
|
+
return {};
|
|
18
23
|
case Surface.SalesforceACC:
|
|
19
24
|
return new SalesforceACCChatSDK();
|
|
25
|
+
case Surface.MCPApps:
|
|
26
|
+
return new MCPAppsChatSDK();
|
|
20
27
|
default:
|
|
21
28
|
return {};
|
|
22
29
|
}
|
|
23
30
|
}
|
|
24
|
-
export const sdk = initialize();
|
package/dist/mcpapps.d.ts
CHANGED
|
@@ -7,15 +7,17 @@ import type { ChatSDK, ChatMessage, ResourceRequest, ToolCall, ToolState } from
|
|
|
7
7
|
/**
|
|
8
8
|
* Chat SDK implementation for Webapp and MicroFrontend surfaces using MCP Apps protocol
|
|
9
9
|
* Supports: sendMessageToHost, callTool, readResource, accessToolInput, accessToolOutput,
|
|
10
|
-
* accessToolMetadata (stub), onToolCanceled (stub)
|
|
10
|
+
* accessToolMetadata (stub), onToolCanceled (stub), subscribe
|
|
11
11
|
*/
|
|
12
12
|
export declare class MCPAppsChatSDK implements ChatSDK {
|
|
13
13
|
private nextMessageId;
|
|
14
14
|
private pending;
|
|
15
15
|
private globals;
|
|
16
16
|
private canceledCallbacks;
|
|
17
|
+
private subscriptions;
|
|
17
18
|
constructor();
|
|
18
19
|
private onMessage;
|
|
20
|
+
private notifySubscribers;
|
|
19
21
|
private request;
|
|
20
22
|
sendMessageToHost(message: ChatMessage): Promise<void>;
|
|
21
23
|
callTool<T>(toolCall: ToolCall): Promise<T>;
|
|
@@ -24,5 +26,6 @@ export declare class MCPAppsChatSDK implements ChatSDK {
|
|
|
24
26
|
accessToolOutput<T>(): ToolState<T> | null;
|
|
25
27
|
accessToolMetadata<T>(): T | null;
|
|
26
28
|
onToolCanceled(callback: () => void): void;
|
|
29
|
+
subscribe(callback: () => void): () => void;
|
|
27
30
|
}
|
|
28
31
|
//# sourceMappingURL=mcpapps.d.ts.map
|
package/dist/mcpapps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpapps.d.ts","sourceRoot":"","sources":["../src/mcpapps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACX,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACR,SAAS,EACT,MAAM,sBAAsB,CAAC;AAqB9B;;;;GAIG;AACH,qBAAa,cAAe,YAAW,OAAO;IAC7C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,OAAO,CAGX;IACJ,OAAO,CAAC,OAAO,CAIR;IACP,OAAO,CAAC,iBAAiB,CAAsB
|
|
1
|
+
{"version":3,"file":"mcpapps.d.ts","sourceRoot":"","sources":["../src/mcpapps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACX,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACR,SAAS,EACT,MAAM,sBAAsB,CAAC;AAqB9B;;;;GAIG;AACH,qBAAa,cAAe,YAAW,OAAO;IAC7C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,OAAO,CAGX;IACJ,OAAO,CAAC,OAAO,CAIR;IACP,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,aAAa,CAAyB;;IAY9C,OAAO,CAAC,SAAS,CAmCf;IAEF,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,OAAO;IAUT,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ3C,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC;IAK3D,eAAe,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAMzC,gBAAgB,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAM1C,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI;IAOjC,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAK1C,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAS3C"}
|
package/dist/mcpapps.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Chat SDK implementation for Webapp and MicroFrontend surfaces using MCP Apps protocol
|
|
3
3
|
* Supports: sendMessageToHost, callTool, readResource, accessToolInput, accessToolOutput,
|
|
4
|
-
* accessToolMetadata (stub), onToolCanceled (stub)
|
|
4
|
+
* accessToolMetadata (stub), onToolCanceled (stub), subscribe
|
|
5
5
|
*/
|
|
6
6
|
export class MCPAppsChatSDK {
|
|
7
7
|
nextMessageId = 1;
|
|
8
8
|
pending = new Map();
|
|
9
9
|
globals = {};
|
|
10
10
|
canceledCallbacks = [];
|
|
11
|
+
subscriptions = new Set();
|
|
11
12
|
constructor() {
|
|
12
13
|
// Listen for messages from parent window
|
|
13
14
|
window.addEventListener("message", this.onMessage);
|
|
@@ -29,6 +30,8 @@ export class MCPAppsChatSDK {
|
|
|
29
30
|
this.globals.toolOutput = renderData.toolOutput;
|
|
30
31
|
}
|
|
31
32
|
}
|
|
33
|
+
// Notify subscribers of data change
|
|
34
|
+
this.notifySubscribers();
|
|
32
35
|
}
|
|
33
36
|
// Handle message responses
|
|
34
37
|
if (data.type === "ui-message-response" || data.type === "ui-message-received") {
|
|
@@ -43,9 +46,14 @@ export class MCPAppsChatSDK {
|
|
|
43
46
|
else {
|
|
44
47
|
slot.resolve(response.payload?.response);
|
|
45
48
|
}
|
|
49
|
+
// Notify subscribers of data change
|
|
50
|
+
this.notifySubscribers();
|
|
46
51
|
}
|
|
47
52
|
}
|
|
48
53
|
};
|
|
54
|
+
notifySubscribers() {
|
|
55
|
+
this.subscriptions.forEach((callback) => callback());
|
|
56
|
+
}
|
|
49
57
|
request(type, payload) {
|
|
50
58
|
const id = String(this.nextMessageId++);
|
|
51
59
|
const message = { type, messageId: id, payload };
|
|
@@ -91,4 +99,12 @@ export class MCPAppsChatSDK {
|
|
|
91
99
|
// TODO: Implement once MCP Apps protocol specifies cancellation event
|
|
92
100
|
this.canceledCallbacks.push(callback);
|
|
93
101
|
}
|
|
102
|
+
subscribe(callback) {
|
|
103
|
+
// Add callback to subscriptions set
|
|
104
|
+
this.subscriptions.add(callback);
|
|
105
|
+
// Return cleanup function
|
|
106
|
+
return () => {
|
|
107
|
+
this.subscriptions.delete(callback);
|
|
108
|
+
};
|
|
109
|
+
}
|
|
94
110
|
}
|
package/dist/openai.d.ts
CHANGED
|
@@ -3,11 +3,15 @@
|
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
* For full license text, see the LICENSE.txt file
|
|
5
5
|
*/
|
|
6
|
-
import type { ChatSDK, ChatMessage, ToolCall, ToolState } from "@salesforce/sdk-core";
|
|
6
|
+
import type { ChatSDK, ChatMessage, DisplayMode, ToolCall, ToolState } from "@salesforce/sdk-core";
|
|
7
|
+
/**
|
|
8
|
+
* Event type emitted by OpenAI platform when global data changes
|
|
9
|
+
*/
|
|
10
|
+
export declare const SET_GLOBALS_EVENT_TYPE = "openai:set_globals";
|
|
7
11
|
/**
|
|
8
12
|
* Chat SDK implementation for OpenAI surface
|
|
9
13
|
* Supports: sendMessageToHost, callTool, accessToolInput, accessToolOutput,
|
|
10
|
-
* accessToolMetadata, getWidgetState, setWidgetState
|
|
14
|
+
* accessToolMetadata, getWidgetState, setWidgetState, setDisplayMode, subscribe
|
|
11
15
|
*/
|
|
12
16
|
export declare class OpenAIChatSDK implements ChatSDK {
|
|
13
17
|
sendMessageToHost(message: ChatMessage): Promise<void>;
|
|
@@ -17,5 +21,9 @@ export declare class OpenAIChatSDK implements ChatSDK {
|
|
|
17
21
|
accessToolMetadata<T>(): T | null;
|
|
18
22
|
getWidgetState<T>(): T | null;
|
|
19
23
|
setWidgetState<T>(state: T): void;
|
|
24
|
+
setDisplayMode(mode: DisplayMode): Promise<{
|
|
25
|
+
mode: DisplayMode;
|
|
26
|
+
}>;
|
|
27
|
+
subscribe(callback: () => void): () => void;
|
|
20
28
|
}
|
|
21
29
|
//# sourceMappingURL=openai.d.ts.map
|
package/dist/openai.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D;;;;GAIG;AACH,qBAAa,aAAc,YAAW,OAAO;IAC5C,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3C,eAAe,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAMzC,gBAAgB,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAM1C,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI;IAMjC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI;IAM7B,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAI3B,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IAIvE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAW3C"}
|
package/dist/openai.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event type emitted by OpenAI platform when global data changes
|
|
3
|
+
*/
|
|
4
|
+
export const SET_GLOBALS_EVENT_TYPE = "openai:set_globals";
|
|
1
5
|
/**
|
|
2
6
|
* Chat SDK implementation for OpenAI surface
|
|
3
7
|
* Supports: sendMessageToHost, callTool, accessToolInput, accessToolOutput,
|
|
4
|
-
* accessToolMetadata, getWidgetState, setWidgetState
|
|
8
|
+
* accessToolMetadata, getWidgetState, setWidgetState, setDisplayMode, subscribe
|
|
5
9
|
*/
|
|
6
10
|
export class OpenAIChatSDK {
|
|
7
11
|
sendMessageToHost(message) {
|
|
@@ -37,4 +41,17 @@ export class OpenAIChatSDK {
|
|
|
37
41
|
setWidgetState(state) {
|
|
38
42
|
window.openai.setWidgetState(state);
|
|
39
43
|
}
|
|
44
|
+
async setDisplayMode(mode) {
|
|
45
|
+
return window.openai.requestDisplayMode({ mode });
|
|
46
|
+
}
|
|
47
|
+
subscribe(callback) {
|
|
48
|
+
// OpenAI surface emits custom event when data changes
|
|
49
|
+
const handler = () => callback();
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
51
|
+
window.addEventListener(SET_GLOBALS_EVENT_TYPE, handler);
|
|
52
|
+
return () => {
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
54
|
+
window.removeEventListener(SET_GLOBALS_EVENT_TYPE, handler);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
40
57
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/sdk-chat",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.30.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"test:coverage": "vitest run --coverage"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@salesforce/sdk-core": "^1.
|
|
29
|
+
"@salesforce/sdk-core": "^1.30.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"vitest": "^4.0.6"
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "544598e5263d2ea42f968854afb609359f5053b4"
|
|
38
38
|
}
|