skybridge 0.0.0-dev.8f4dd70 → 0.0.0-dev.92a31f3

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.
Files changed (97) hide show
  1. package/README.md +196 -1
  2. package/dist/src/server/server.d.ts +1 -0
  3. package/dist/src/server/server.js +16 -9
  4. package/dist/src/server/server.js.map +1 -1
  5. package/dist/src/server/templateHelper.d.ts +15 -0
  6. package/dist/src/server/templateHelper.js +29 -0
  7. package/dist/src/server/templateHelper.js.map +1 -0
  8. package/dist/src/server/templates/development.hbs +12 -0
  9. package/dist/src/server/templates/production.hbs +6 -0
  10. package/dist/src/test/widget.test.js +23 -2
  11. package/dist/src/test/widget.test.js.map +1 -1
  12. package/dist/src/web/hooks/index.d.ts +13 -0
  13. package/dist/src/web/hooks/index.js +14 -0
  14. package/dist/src/web/hooks/index.js.map +1 -0
  15. package/dist/src/web/hooks/use-call-tool.d.ts +54 -0
  16. package/dist/src/web/hooks/use-call-tool.js +44 -0
  17. package/dist/src/web/hooks/use-call-tool.js.map +1 -0
  18. package/dist/src/web/hooks/use-call-tool.test.js +66 -0
  19. package/dist/src/web/hooks/use-call-tool.test.js.map +1 -0
  20. package/dist/src/web/hooks/use-display-mode.d.ts +4 -0
  21. package/dist/src/web/hooks/use-display-mode.js +7 -0
  22. package/dist/src/web/hooks/use-display-mode.js.map +1 -0
  23. package/dist/src/web/hooks/use-display-mode.test.d.ts +1 -0
  24. package/dist/src/web/hooks/use-display-mode.test.js +40 -0
  25. package/dist/src/web/hooks/use-display-mode.test.js.map +1 -0
  26. package/dist/src/web/hooks/use-locale.d.ts +1 -0
  27. package/dist/src/web/hooks/use-locale.js +5 -0
  28. package/dist/src/web/hooks/use-locale.js.map +1 -0
  29. package/dist/src/web/hooks/use-locale.test.d.ts +1 -0
  30. package/dist/src/web/hooks/use-locale.test.js +21 -0
  31. package/dist/src/web/hooks/use-locale.test.js.map +1 -0
  32. package/dist/src/web/hooks/use-open-external.d.ts +1 -0
  33. package/dist/src/web/hooks/use-open-external.js +6 -0
  34. package/dist/src/web/hooks/use-open-external.js.map +1 -0
  35. package/dist/src/web/hooks/use-open-external.test.d.ts +1 -0
  36. package/dist/src/web/hooks/use-open-external.test.js +24 -0
  37. package/dist/src/web/hooks/use-open-external.test.js.map +1 -0
  38. package/dist/src/web/{use-openai-global.d.ts → hooks/use-openai-global.d.ts} +1 -1
  39. package/dist/src/web/{use-openai-global.js → hooks/use-openai-global.js} +4 -2
  40. package/dist/src/web/hooks/use-openai-global.js.map +1 -0
  41. package/dist/src/web/hooks/use-request-modal.d.ts +5 -0
  42. package/dist/src/web/hooks/use-request-modal.js +9 -0
  43. package/dist/src/web/hooks/use-request-modal.js.map +1 -0
  44. package/dist/src/web/hooks/use-request-modal.test.d.ts +1 -0
  45. package/dist/src/web/hooks/use-request-modal.test.js +24 -0
  46. package/dist/src/web/hooks/use-request-modal.test.js.map +1 -0
  47. package/dist/src/web/hooks/use-send-follow-up-message.d.ts +1 -0
  48. package/dist/src/web/hooks/use-send-follow-up-message.js +11 -0
  49. package/dist/src/web/hooks/use-send-follow-up-message.js.map +1 -0
  50. package/dist/src/web/hooks/use-theme.d.ts +1 -0
  51. package/dist/src/web/hooks/use-theme.js +5 -0
  52. package/dist/src/web/hooks/use-theme.js.map +1 -0
  53. package/dist/src/web/hooks/use-theme.test.d.ts +1 -0
  54. package/dist/src/web/hooks/use-theme.test.js +26 -0
  55. package/dist/src/web/hooks/use-theme.test.js.map +1 -0
  56. package/dist/src/web/hooks/use-tool-info.d.ts +18 -0
  57. package/dist/src/web/hooks/use-tool-info.js +22 -0
  58. package/dist/src/web/hooks/use-tool-info.js.map +1 -0
  59. package/dist/src/web/hooks/use-tool-info.test.d.ts +1 -0
  60. package/dist/src/web/hooks/use-tool-info.test.js +59 -0
  61. package/dist/src/web/hooks/use-tool-info.test.js.map +1 -0
  62. package/dist/src/web/hooks/use-tool-output.d.ts +4 -0
  63. package/dist/src/web/hooks/use-tool-output.js +9 -0
  64. package/dist/src/web/hooks/use-tool-output.js.map +1 -0
  65. package/dist/src/web/hooks/use-tool-response-metadata.d.ts +4 -0
  66. package/dist/src/web/hooks/use-tool-response-metadata.js +8 -0
  67. package/dist/src/web/hooks/use-tool-response-metadata.js.map +1 -0
  68. package/dist/src/web/hooks/use-user-agent.d.ts +1 -0
  69. package/dist/src/web/hooks/use-user-agent.js +5 -0
  70. package/dist/src/web/hooks/use-user-agent.js.map +1 -0
  71. package/dist/src/web/hooks/use-user-agent.test.d.ts +1 -0
  72. package/dist/src/web/hooks/use-user-agent.test.js +31 -0
  73. package/dist/src/web/hooks/use-user-agent.test.js.map +1 -0
  74. package/dist/src/web/hooks/use-widget-state.d.ts +4 -0
  75. package/dist/src/web/hooks/use-widget-state.js +30 -0
  76. package/dist/src/web/hooks/use-widget-state.js.map +1 -0
  77. package/dist/src/web/hooks/use-widget-state.test.d.ts +1 -0
  78. package/dist/src/web/hooks/use-widget-state.test.js +60 -0
  79. package/dist/src/web/hooks/use-widget-state.test.js.map +1 -0
  80. package/dist/src/web/index.d.ts +2 -2
  81. package/dist/src/web/index.js +2 -2
  82. package/dist/src/web/index.js.map +1 -1
  83. package/dist/src/web/plugin.d.ts +2 -0
  84. package/dist/src/web/plugin.js +28 -0
  85. package/dist/src/web/plugin.js.map +1 -0
  86. package/dist/src/web/types.d.ts +20 -4
  87. package/dist/src/web/types.js.map +1 -1
  88. package/dist/vitest.config.js +0 -1
  89. package/dist/vitest.config.js.map +1 -1
  90. package/package.json +12 -4
  91. package/dist/src/test/setup.js +0 -9
  92. package/dist/src/test/setup.js.map +0 -1
  93. package/dist/src/web/use-openai-global.js.map +0 -1
  94. package/dist/src/web/use-tool-output.d.ts +0 -3
  95. package/dist/src/web/use-tool-output.js +0 -5
  96. package/dist/src/web/use-tool-output.js.map +0 -1
  97. /package/dist/src/{test/setup.d.ts → web/hooks/use-call-tool.test.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-widget-state.test.js","sourceRoot":"","sources":["../../../../src/web/hooks/use-widget-state.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,QAAQ,EACR,EAAE,EACF,MAAM,EACN,EAAE,EACF,UAAU,EACV,SAAS,GAEV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAEzD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,UAA0D,CAAC;IAE/D,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG;YACX,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;SACrD,CAAC;QACF,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACtB,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAEjD,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;QACrC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;QACvG,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAEhD,GAAG,CAAC,GAAG,EAAE;YACP,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;QAC9G,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QAElE,GAAG,CAAC,GAAG,EAAE;YACP,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC;YACrD,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;QACtC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QAE5E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhD,8CAA8C;QAC9C,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;QACrC,sDAAsD;QACtD,QAAQ,EAAE,CAAC;QAEX,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- export { useOpenAiGlobal } from "./use-openai-global.js";
2
- export { useToolOutput } from "./use-tool-output.js";
3
1
  export * from "./types.js";
4
2
  export { mountWidget } from "./mount-widget.js";
3
+ export { skybridge } from "./plugin.js";
4
+ export * from "./hooks/index.js";
@@ -1,5 +1,5 @@
1
- export { useOpenAiGlobal } from "./use-openai-global.js";
2
- export { useToolOutput } from "./use-tool-output.js";
3
1
  export * from "./types.js";
4
2
  export { mountWidget } from "./mount-widget.js";
3
+ export { skybridge } from "./plugin.js";
4
+ export * from "./hooks/index.js";
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/web/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/web/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Plugin } from "vite";
2
+ export declare function skybridge(): Plugin;
@@ -0,0 +1,28 @@
1
+ export function skybridge() {
2
+ return {
3
+ name: "skybridge",
4
+ async config(config) {
5
+ // Dynamic imports to ensure Node modules are only loaded in Node.js context
6
+ const { globSync } = await import("node:fs");
7
+ const { resolve } = await import("node:path");
8
+ const projectRoot = config.root || process.cwd();
9
+ const widgetsPattern = resolve(projectRoot, "src/widgets/*.{js,ts,jsx,tsx,html}");
10
+ const input = Object.fromEntries(globSync(widgetsPattern).map((file) => [
11
+ file.match(/src\/widgets\/(.+)\.tsx$/)?.[1],
12
+ file,
13
+ ]));
14
+ return {
15
+ base: "/assets",
16
+ build: {
17
+ manifest: true,
18
+ minify: true,
19
+ cssCodeSplit: false,
20
+ rollupOptions: {
21
+ input,
22
+ },
23
+ },
24
+ };
25
+ },
26
+ };
27
+ }
28
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/web/plugin.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS;IACvB,OAAO;QACL,IAAI,EAAE,WAAW;QAEjB,KAAK,CAAC,MAAM,CAAC,MAAM;YACjB,4EAA4E;YAC5E,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAE9C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,cAAc,GAAG,OAAO,CAC5B,WAAW,EACX,oCAAoC,CACrC,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,IAAI;aACL,CAAC,CACH,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE,KAAK;oBACnB,aAAa,EAAE;wBACb,KAAK;qBACN;iBACF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- type UnknownObject = Record<string, unknown>;
1
+ export type UnknownObject = Record<string, unknown>;
2
2
  export type WidgetState = UnknownObject;
3
3
  export type SetWidgetState = (state: WidgetState) => Promise<void>;
4
4
  export type SendFollowUpMessage = (args: {
@@ -9,6 +9,10 @@ export type RequestDisplayMode = (args: {
9
9
  }) => Promise<{
10
10
  mode: DisplayMode;
11
11
  }>;
12
+ export type RequestModal = (options: RequestModalOptions) => Promise<void>;
13
+ export type RequestModalOptions = {
14
+ title: string;
15
+ };
12
16
  export declare const TOOL_RESPONSE_EVENT_TYPE = "openai:tool_response";
13
17
  export declare class ToolResponseEvent extends CustomEvent<{
14
18
  tool: {
@@ -26,7 +30,7 @@ declare global {
26
30
  [SET_GLOBALS_EVENT_TYPE]: SetGlobalsEvent;
27
31
  }
28
32
  }
29
- export type OpenAiGlobals<ToolInput extends UnknownObject = UnknownObject, ToolOutput extends UnknownObject = UnknownObject, ToolResponseMetadata extends UnknownObject = UnknownObject, WidgetState extends UnknownObject = UnknownObject> = {
33
+ export type OpenAiGlobals<ToolInput extends UnknownObject = {}, ToolOutput extends UnknownObject = UnknownObject, ToolResponseMetadata extends UnknownObject = UnknownObject, WidgetState extends UnknownObject = UnknownObject> = {
30
34
  theme: Theme;
31
35
  userAgent: UserAgent;
32
36
  locale: string;
@@ -34,16 +38,28 @@ export type OpenAiGlobals<ToolInput extends UnknownObject = UnknownObject, ToolO
34
38
  displayMode: DisplayMode;
35
39
  safeArea: SafeArea;
36
40
  toolInput: ToolInput;
37
- toolOutput: ToolOutput | null;
41
+ toolOutput: ToolOutput | {
42
+ text: string;
43
+ } | null;
38
44
  toolResponseMetadata: ToolResponseMetadata | null;
39
45
  widgetState: WidgetState | null;
46
+ requestDisplayMode: RequestDisplayMode;
47
+ requestModal: RequestModal;
40
48
  };
49
+ export type CallToolArgs = Record<string, unknown> | null;
41
50
  export type CallToolResponse = {
51
+ content: {
52
+ type: "text";
53
+ text: string;
54
+ }[];
55
+ structuredContent: Record<string, unknown>;
56
+ isError: boolean;
42
57
  result: string;
58
+ meta: Record<string, unknown>;
43
59
  };
44
60
  type API<WidgetState extends UnknownObject> = {
45
61
  /** Calls a tool on your MCP. Returns the full response. */
46
- callTool: (name: string, args: Record<string, unknown>) => Promise<CallToolResponse>;
62
+ callTool: <ToolArgs extends CallToolArgs = null, ToolResponse extends CallToolResponse = CallToolResponse>(name: string, args: ToolArgs) => Promise<ToolResponse>;
47
63
  /** Triggers a followup turn in the ChatGPT conversation */
48
64
  sendFollowUpMessage: (args: {
49
65
  prompt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/web/types.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAC/D,MAAM,OAAO,iBAAkB,SAAQ,WAErC;IACkB,IAAI,GAAG,wBAAwB,CAAC;CACnD;AA+DD,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAC3D,MAAM,OAAO,eAAgB,SAAQ,WAEnC;IACkB,IAAI,GAAG,sBAAsB,CAAC;CACjD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/web/types.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAC/D,MAAM,OAAO,iBAAkB,SAAQ,WAErC;IACkB,IAAI,GAAG,wBAAwB,CAAC;CACnD;AA6ED,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAC3D,MAAM,OAAO,eAAgB,SAAQ,WAEnC;IACkB,IAAI,GAAG,sBAAsB,CAAC;CACjD"}
@@ -3,7 +3,6 @@ export default defineConfig({
3
3
  test: {
4
4
  environment: "jsdom",
5
5
  globals: true,
6
- setupFiles: ["./src/test/setup.ts"],
7
6
  },
8
7
  });
9
8
  //# sourceMappingURL=vitest.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC,qBAAqB,CAAC;KACpC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,IAAI;KACd;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skybridge",
3
- "version": "0.0.0-dev.8f4dd70",
3
+ "version": "0.0.0-dev.92a31f3",
4
4
  "description": "Skybridge is a framework for building ChatGPT apps",
5
5
  "type": "module",
6
6
  "files": [
@@ -17,8 +17,14 @@
17
17
  }
18
18
  },
19
19
  "scripts": {
20
- "build": "tsc",
21
- "test": "vitest run"
20
+ "build": "tsc && pnpm run build:templates",
21
+ "build:templates": "cp -r src/server/templates dist/src/server/",
22
+ "test": "pnpm run test:unit && pnpm run test:type",
23
+ "test:unit": "vitest run --silent",
24
+ "test:type": "tsc --noEmit",
25
+ "docs:dev": "pnpm --filter @skybridge/docs start",
26
+ "docs:build": "pnpm --filter @skybridge/docs build",
27
+ "docs:serve": "pnpm --filter @skybridge/docs serve"
22
28
  },
23
29
  "keywords": [
24
30
  "chatgpt",
@@ -41,13 +47,15 @@
41
47
  "zod": "^3.25.51"
42
48
  },
43
49
  "devDependencies": {
50
+ "@testing-library/dom": "^10.4.1",
51
+ "@testing-library/react": "^16.3.0",
44
52
  "@total-typescript/tsconfig": "^1.0.4",
45
53
  "@types/cors": "^2.8.19",
46
54
  "@types/express": "^5.0.3",
55
+ "@types/jsdom": "^21.1.6",
47
56
  "@types/node": "^22.15.30",
48
57
  "@types/react": "^19.2.2",
49
58
  "@types/react-dom": "^19.2.2",
50
- "@types/jsdom": "^21.1.6",
51
59
  "@vitest/ui": "^2.1.8",
52
60
  "jsdom": "^25.0.1",
53
61
  "typescript": "^5.9.3",
@@ -1,9 +0,0 @@
1
- import { vi } from "vitest";
2
- // Mock console methods to avoid noise in tests
3
- global.console = {
4
- ...console,
5
- error: vi.fn(),
6
- warn: vi.fn(),
7
- log: vi.fn(),
8
- };
9
- //# sourceMappingURL=setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/test/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,+CAA+C;AAC/C,MAAM,CAAC,OAAO,GAAG;IACf,GAAG,OAAO;IACV,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;IACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;IACb,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;CACb,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-openai-global.js","sourceRoot":"","sources":["../../../src/web/use-openai-global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAsB,MAAM,YAAY,CAAC;AAEzF,MAAM,UAAU,eAAe,CAAgC,GAAM;IACnE,OAAO,oBAAoB,CACzB,CAAC,QAAQ,EAAE,EAAE;QACX,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvD,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,eAAe,EAAE;YAC/D,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC,EACD,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAC3B,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function useToolOutput(): {
2
- [x: string]: unknown;
3
- } | null | undefined;
@@ -1,5 +0,0 @@
1
- import { useOpenAiGlobal } from "./use-openai-global.js";
2
- export function useToolOutput() {
3
- return useOpenAiGlobal("toolOutput");
4
- }
5
- //# sourceMappingURL=use-tool-output.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-tool-output.js","sourceRoot":"","sources":["../../../src/web/use-tool-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,UAAU,aAAa;IAC3B,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC"}