skybridge 0.0.0-dev.cb16b5e → 0.0.0-dev.cbadf52
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/src/server/templates/development.hbs +1 -1
- package/dist/src/server/templates/production.hbs +1 -1
- package/dist/src/web/bridges/apps-sdk-adapter.d.ts +13 -2
- package/dist/src/web/bridges/apps-sdk-adapter.js +32 -3
- package/dist/src/web/bridges/apps-sdk-adapter.js.map +1 -1
- package/dist/src/web/bridges/apps-sdk-bridge.d.ts +4 -2
- package/dist/src/web/bridges/apps-sdk-bridge.js +19 -14
- package/dist/src/web/bridges/apps-sdk-bridge.js.map +1 -1
- package/dist/src/web/bridges/get-bridge-method.d.ts +2 -0
- package/dist/src/web/bridges/get-bridge-method.js +9 -0
- package/dist/src/web/bridges/get-bridge-method.js.map +1 -0
- package/dist/src/web/bridges/hooks/use-bridge.d.ts +2 -2
- package/dist/src/web/bridges/hooks/use-bridge.js +7 -85
- package/dist/src/web/bridges/hooks/use-bridge.js.map +1 -1
- package/dist/src/web/bridges/hooks/use-mcp-app-bridge.d.ts +3 -2
- package/dist/src/web/bridges/hooks/use-mcp-app-bridge.js +1 -1
- package/dist/src/web/bridges/hooks/use-mcp-app-bridge.js.map +1 -1
- package/dist/src/web/bridges/hooks/use-mcp-app-bridge.test.js +10 -26
- package/dist/src/web/bridges/hooks/use-mcp-app-bridge.test.js.map +1 -1
- package/dist/src/web/bridges/index.d.ts +1 -1
- package/dist/src/web/bridges/index.js +1 -1
- package/dist/src/web/bridges/index.js.map +1 -1
- package/dist/src/web/bridges/mcp-app-adapter.d.ts +16 -2
- package/dist/src/web/bridges/mcp-app-adapter.js +108 -9
- package/dist/src/web/bridges/mcp-app-adapter.js.map +1 -1
- package/dist/src/web/bridges/mcp-app-bridge.d.ts +15 -6
- package/dist/src/web/bridges/mcp-app-bridge.js +58 -26
- package/dist/src/web/bridges/mcp-app-bridge.js.map +1 -1
- package/dist/src/web/bridges/types.d.ts +30 -3
- package/dist/src/web/data-llm.js +4 -2
- package/dist/src/web/data-llm.js.map +1 -1
- package/dist/src/web/generate-helpers.test-d.js +4 -1
- package/dist/src/web/generate-helpers.test-d.js.map +1 -1
- package/dist/src/web/hooks/test/utils.d.ts +11 -0
- package/dist/src/web/hooks/test/utils.js +48 -0
- package/dist/src/web/hooks/test/utils.js.map +1 -0
- package/dist/src/web/hooks/use-call-tool.js +12 -4
- package/dist/src/web/hooks/use-call-tool.js.map +1 -1
- package/dist/src/web/hooks/use-call-tool.test.js +26 -0
- package/dist/src/web/hooks/use-call-tool.test.js.map +1 -1
- package/dist/src/web/hooks/use-display-mode.d.ts +1 -2
- package/dist/src/web/hooks/use-display-mode.js +2 -4
- package/dist/src/web/hooks/use-display-mode.js.map +1 -1
- package/dist/src/web/hooks/use-layout.test.js +84 -38
- package/dist/src/web/hooks/use-layout.test.js.map +1 -1
- package/dist/src/web/hooks/use-send-follow-up-message.js +2 -8
- package/dist/src/web/hooks/use-send-follow-up-message.js.map +1 -1
- package/dist/src/web/hooks/use-tool-info.d.ts +12 -1
- package/dist/src/web/hooks/use-tool-info.js +15 -9
- package/dist/src/web/hooks/use-tool-info.js.map +1 -1
- package/dist/src/web/hooks/use-tool-info.test-d.js +40 -4
- package/dist/src/web/hooks/use-tool-info.test-d.js.map +1 -1
- package/dist/src/web/hooks/use-tool-info.test.js +118 -47
- package/dist/src/web/hooks/use-tool-info.test.js.map +1 -1
- package/dist/src/web/hooks/use-user.test.js +84 -34
- package/dist/src/web/hooks/use-user.test.js.map +1 -1
- package/dist/src/web/plugin/transform-data-llm.js +6 -3
- package/dist/src/web/plugin/transform-data-llm.js.map +1 -1
- package/dist/src/web/types.d.ts +2 -4
- package/dist/src/web/types.js.map +1 -1
- package/package.json +6 -1
- package/dist/src/web/bridges/get-bridge-methods.d.ts +0 -2
- package/dist/src/web/bridges/get-bridge-methods.js +0 -8
- package/dist/src/web/bridges/get-bridge-methods.js.map +0 -1
|
@@ -1,44 +1,94 @@
|
|
|
1
|
-
import { renderHook } from "@testing-library/react";
|
|
1
|
+
import { renderHook, waitFor } from "@testing-library/react";
|
|
2
2
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
|
+
import { McpAppAdapter } from "../bridges/mcp-app-adapter.js";
|
|
4
|
+
import { McpAppBridge } from "../bridges/mcp-app-bridge.js";
|
|
5
|
+
import { fireHostContextChangedNotification, MCPAppHostPostMessageMock, } from "./test/utils.js";
|
|
3
6
|
import { useUser } from "./use-user.js";
|
|
4
7
|
describe("useUser", () => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
describe("apps-sdk host type", () => {
|
|
9
|
+
let OpenaiMock;
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
OpenaiMock = {
|
|
12
|
+
locale: "en-US",
|
|
13
|
+
userAgent: {
|
|
14
|
+
device: { type: "desktop" },
|
|
15
|
+
capabilities: { hover: true, touch: false },
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
vi.stubGlobal("openai", OpenaiMock);
|
|
19
|
+
vi.stubGlobal("skybridge", { hostType: "apps-sdk" });
|
|
20
|
+
});
|
|
21
|
+
afterEach(() => {
|
|
22
|
+
vi.unstubAllGlobals();
|
|
23
|
+
vi.resetAllMocks();
|
|
24
|
+
});
|
|
25
|
+
it("should return locale and userAgent from window.openai", () => {
|
|
26
|
+
const { result } = renderHook(() => useUser());
|
|
27
|
+
expect(result.current.locale).toBe("en-US");
|
|
28
|
+
expect(result.current.userAgent).toEqual({
|
|
10
29
|
device: { type: "desktop" },
|
|
11
30
|
capabilities: { hover: true, touch: false },
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
it("should return mobile userAgent when set to mobile", () => {
|
|
34
|
+
OpenaiMock.userAgent = {
|
|
35
|
+
device: { type: "mobile" },
|
|
36
|
+
capabilities: { hover: false, touch: true },
|
|
37
|
+
};
|
|
38
|
+
const { result } = renderHook(() => useUser());
|
|
39
|
+
expect(result.current.userAgent.device.type).toBe("mobile");
|
|
40
|
+
expect(result.current.userAgent.capabilities.touch).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
it("should return different locale when set", () => {
|
|
43
|
+
OpenaiMock.locale = "es-ES";
|
|
44
|
+
const { result } = renderHook(() => useUser());
|
|
45
|
+
expect(result.current.locale).toBe("es-ES");
|
|
27
46
|
});
|
|
28
47
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
48
|
+
describe("mcp-app host type", () => {
|
|
49
|
+
beforeEach(() => {
|
|
50
|
+
Object.defineProperty(window, "parent", {
|
|
51
|
+
value: { postMessage: MCPAppHostPostMessageMock },
|
|
52
|
+
writable: true,
|
|
53
|
+
configurable: true,
|
|
54
|
+
});
|
|
55
|
+
vi.stubGlobal("skybridge", { hostType: "mcp-app" });
|
|
56
|
+
});
|
|
57
|
+
afterEach(() => {
|
|
58
|
+
vi.unstubAllGlobals();
|
|
59
|
+
vi.resetAllMocks();
|
|
60
|
+
McpAppBridge.resetInstance();
|
|
61
|
+
McpAppAdapter.resetInstance();
|
|
62
|
+
});
|
|
63
|
+
it("should return locale and userAgent from mcp host context", async () => {
|
|
64
|
+
const { result } = renderHook(() => useUser());
|
|
65
|
+
fireHostContextChangedNotification({
|
|
66
|
+
locale: "fr-FR",
|
|
67
|
+
platform: "web",
|
|
68
|
+
deviceCapabilities: { hover: true, touch: false },
|
|
69
|
+
});
|
|
70
|
+
await waitFor(() => {
|
|
71
|
+
expect(result.current.locale).toBe("fr-FR");
|
|
72
|
+
expect(result.current.userAgent).toEqual({
|
|
73
|
+
device: { type: "desktop" },
|
|
74
|
+
capabilities: { hover: true, touch: false },
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
it("should maintain userAgent referential stability when data has not changed", async () => {
|
|
79
|
+
const { result, rerender } = renderHook(() => useUser());
|
|
80
|
+
fireHostContextChangedNotification({
|
|
81
|
+
locale: "en-US",
|
|
82
|
+
platform: "web",
|
|
83
|
+
deviceCapabilities: { hover: true, touch: false },
|
|
84
|
+
});
|
|
85
|
+
await waitFor(() => {
|
|
86
|
+
expect(result.current.userAgent).toBeDefined();
|
|
87
|
+
});
|
|
88
|
+
const initialUserAgent = result.current.userAgent;
|
|
89
|
+
rerender();
|
|
90
|
+
expect(result.current.userAgent).toBe(initialUserAgent);
|
|
91
|
+
});
|
|
42
92
|
});
|
|
43
93
|
});
|
|
44
94
|
//# sourceMappingURL=use-user.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-user.test.js","sourceRoot":"","sources":["../../../../src/web/hooks/use-user.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-user.test.js","sourceRoot":"","sources":["../../../../src/web/hooks/use-user.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,12 @@ function createBabelPlugin(t) {
|
|
|
8
8
|
state.hasDataLLMImport = false;
|
|
9
9
|
state.needsDataLLMImport = false;
|
|
10
10
|
for (const node of path.node.body) {
|
|
11
|
-
if (!t.isImportDeclaration(node))
|
|
11
|
+
if (!t.isImportDeclaration(node)) {
|
|
12
12
|
continue;
|
|
13
|
-
|
|
13
|
+
}
|
|
14
|
+
if (node.source.value !== LLM_IMPORT_SOURCE) {
|
|
14
15
|
continue;
|
|
16
|
+
}
|
|
15
17
|
const hasSpecifier = node.specifiers.some((s) => t.isImportSpecifier(s) &&
|
|
16
18
|
t.isIdentifier(s.imported, { name: "DataLLM" }));
|
|
17
19
|
if (hasSpecifier) {
|
|
@@ -34,8 +36,9 @@ function createBabelPlugin(t) {
|
|
|
34
36
|
const attributes = opening.attributes;
|
|
35
37
|
const llmAttributeIndex = attributes.findIndex((attribute) => t.isJSXAttribute(attribute) &&
|
|
36
38
|
t.isJSXIdentifier(attribute.name, { name: "data-llm" }));
|
|
37
|
-
if (llmAttributeIndex === -1)
|
|
39
|
+
if (llmAttributeIndex === -1) {
|
|
38
40
|
return;
|
|
41
|
+
}
|
|
39
42
|
const llmAttribute = attributes[llmAttributeIndex];
|
|
40
43
|
let contentExpression;
|
|
41
44
|
if (t.isStringLiteral(llmAttribute.value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-data-llm.js","sourceRoot":"","sources":["../../../../src/web/plugin/transform-data-llm.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAO1C,SAAS,iBAAiB,CAAC,CAAe;IACxC,OAAO;QACL,IAAI,EAAE,gBAAgB;QAEtB,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,KAAK,CAAC,IAAI,EAAE,KAAK;oBACf,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC/B,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAEjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBAClC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"transform-data-llm.js","sourceRoot":"","sources":["../../../../src/web/plugin/transform-data-llm.ts"],"names":[],"mappings":"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"}
|
package/dist/src/web/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "react";
|
|
2
|
+
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
3
|
import type { WidgetHostType } from "../server/index.js";
|
|
3
4
|
declare module "react" {
|
|
4
5
|
interface HTMLAttributes<T> {
|
|
@@ -56,10 +57,7 @@ export type OpenAiProperties<ToolInput extends UnknownObject = Record<never, unk
|
|
|
56
57
|
};
|
|
57
58
|
export type CallToolArgs = Record<string, unknown> | null;
|
|
58
59
|
export type CallToolResponse = {
|
|
59
|
-
content:
|
|
60
|
-
type: "text";
|
|
61
|
-
text: string;
|
|
62
|
-
}[];
|
|
60
|
+
content: CallToolResult["content"];
|
|
63
61
|
structuredContent: Record<string, unknown>;
|
|
64
62
|
isError: boolean;
|
|
65
63
|
result: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/web/types.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/web/types.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,CAAC;AAyBf,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAC/D,MAAM,OAAO,iBAAkB,SAAQ,WAErC;IACkB,IAAI,GAAG,wBAAwB,CAAC;CACnD;AAuGD,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAC3D,MAAM,OAAO,eAAgB,SAAQ,WAEnC;IACkB,IAAI,GAAG,sBAAsB,CAAC;CACjD"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skybridge",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.cbadf52",
|
|
4
4
|
"description": "Skybridge is a framework for building ChatGPT apps",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/alpic-ai/skybridge.git"
|
|
8
|
+
},
|
|
5
9
|
"type": "module",
|
|
6
10
|
"files": [
|
|
7
11
|
"dist"
|
|
@@ -41,6 +45,7 @@
|
|
|
41
45
|
"dependencies": {
|
|
42
46
|
"@babel/core": "^7.28.5",
|
|
43
47
|
"cors": "^2.8.5",
|
|
48
|
+
"dequal": "^2.0.3",
|
|
44
49
|
"express": "^5.1.0",
|
|
45
50
|
"handlebars": "^4.7.8",
|
|
46
51
|
"superjson": "^2.2.6",
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as AppsSdkAdapter from "./apps-sdk-adapter";
|
|
2
|
-
import * as McpAppAdapter from "./mcp-app-adapter";
|
|
3
|
-
export const getBridgeMethods = () => {
|
|
4
|
-
return window.skybridge.hostType === "apps-sdk"
|
|
5
|
-
? AppsSdkAdapter
|
|
6
|
-
: McpAppAdapter;
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=get-bridge-methods.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-bridge-methods.js","sourceRoot":"","sources":["../../../../src/web/bridges/get-bridge-methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAC;AAGnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAY,EAAE;IAC5C,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,UAAU;QAC7C,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,aAAa,CAAC;AACpB,CAAC,CAAC"}
|