skybridge 0.0.0-dev.81ea105 → 0.0.0-dev.81fd90a

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 (222) hide show
  1. package/README.md +2 -0
  2. package/dist/cli/build-helpers.d.ts +1 -1
  3. package/dist/cli/build-helpers.js +7 -2
  4. package/dist/cli/build-helpers.js.map +1 -1
  5. package/dist/cli/build-helpers.test.js +15 -2
  6. package/dist/cli/build-helpers.test.js.map +1 -1
  7. package/dist/cli/build-steps.js +3 -3
  8. package/dist/cli/build-steps.js.map +1 -1
  9. package/dist/cli/resolve-skybridge-config.d.ts +5 -0
  10. package/dist/cli/{resolve-views-dir.js → resolve-skybridge-config.js} +4 -3
  11. package/dist/cli/resolve-skybridge-config.js.map +1 -0
  12. package/dist/cli/use-execute-steps.d.ts +1 -1
  13. package/dist/commands/dev.js +2 -2
  14. package/dist/commands/dev.js.map +1 -1
  15. package/dist/context-warnings.d.ts +5 -0
  16. package/dist/context-warnings.js +31 -0
  17. package/dist/context-warnings.js.map +1 -0
  18. package/dist/context-warnings.test.js +28 -0
  19. package/dist/context-warnings.test.js.map +1 -0
  20. package/dist/server/auth/discovery.d.ts +1 -0
  21. package/dist/server/auth/discovery.js +1 -1
  22. package/dist/server/auth/discovery.js.map +1 -1
  23. package/dist/server/auth/index.d.ts +17 -5
  24. package/dist/server/auth/index.js.map +1 -1
  25. package/dist/server/auth/providers/auth0.d.ts +24 -2
  26. package/dist/server/auth/providers/auth0.js.map +1 -1
  27. package/dist/server/auth/providers/auth0.test.js +4 -2
  28. package/dist/server/auth/providers/auth0.test.js.map +1 -1
  29. package/dist/server/auth/providers/authplane.d.ts +49 -0
  30. package/dist/server/auth/providers/authplane.js +57 -0
  31. package/dist/server/auth/providers/authplane.js.map +1 -0
  32. package/dist/server/auth/providers/authplane.test.d.ts +1 -0
  33. package/dist/server/auth/providers/authplane.test.js +140 -0
  34. package/dist/server/auth/providers/authplane.test.js.map +1 -0
  35. package/dist/server/auth/providers/clerk.d.ts +39 -2
  36. package/dist/server/auth/providers/clerk.js +4 -1
  37. package/dist/server/auth/providers/clerk.js.map +1 -1
  38. package/dist/server/auth/providers/clerk.test.js +5 -3
  39. package/dist/server/auth/providers/clerk.test.js.map +1 -1
  40. package/dist/server/auth/providers/custom.d.ts +16 -6
  41. package/dist/server/auth/providers/custom.js +25 -9
  42. package/dist/server/auth/providers/custom.js.map +1 -1
  43. package/dist/server/auth/providers/custom.test.js +46 -16
  44. package/dist/server/auth/providers/custom.test.js.map +1 -1
  45. package/dist/server/auth/providers/descope.d.ts +31 -2
  46. package/dist/server/auth/providers/descope.js +12 -3
  47. package/dist/server/auth/providers/descope.js.map +1 -1
  48. package/dist/server/auth/providers/descope.test.js +42 -19
  49. package/dist/server/auth/providers/descope.test.js.map +1 -1
  50. package/dist/server/auth/providers/stytch.d.ts +15 -2
  51. package/dist/server/auth/providers/stytch.js +4 -1
  52. package/dist/server/auth/providers/stytch.js.map +1 -1
  53. package/dist/server/auth/providers/verify-spy.d.ts +12 -0
  54. package/dist/server/auth/providers/verify-spy.js +21 -0
  55. package/dist/server/auth/providers/verify-spy.js.map +1 -0
  56. package/dist/server/auth/providers/workos.d.ts +24 -2
  57. package/dist/server/auth/providers/workos.js +4 -1
  58. package/dist/server/auth/providers/workos.js.map +1 -1
  59. package/dist/server/auth/setup.d.ts +1 -1
  60. package/dist/server/auth/setup.js +4 -5
  61. package/dist/server/auth/setup.js.map +1 -1
  62. package/dist/server/auth/setup.test.js +39 -15
  63. package/dist/server/auth/setup.test.js.map +1 -1
  64. package/dist/server/auth/verify.d.ts +37 -3
  65. package/dist/server/auth/verify.js +27 -3
  66. package/dist/server/auth/verify.js.map +1 -1
  67. package/dist/server/auth/verify.test.js +49 -0
  68. package/dist/server/auth/verify.test.js.map +1 -1
  69. package/dist/server/auth-extra.test-d.d.ts +1 -0
  70. package/dist/server/auth-extra.test-d.js +71 -0
  71. package/dist/server/auth-extra.test-d.js.map +1 -0
  72. package/dist/server/auth.d.ts +42 -5
  73. package/dist/server/auth.js +3 -4
  74. package/dist/server/auth.js.map +1 -1
  75. package/dist/server/content-helpers.d.ts +1 -1
  76. package/dist/server/content-helpers.js.map +1 -1
  77. package/dist/server/express.js +9 -28
  78. package/dist/server/express.js.map +1 -1
  79. package/dist/server/express.test.js +42 -7
  80. package/dist/server/express.test.js.map +1 -1
  81. package/dist/server/index.d.ts +11 -7
  82. package/dist/server/index.js +5 -2
  83. package/dist/server/index.js.map +1 -1
  84. package/dist/server/mcp-errors.test.d.ts +1 -0
  85. package/dist/server/mcp-errors.test.js +37 -0
  86. package/dist/server/mcp-errors.test.js.map +1 -0
  87. package/dist/server/middleware.d.ts +35 -10
  88. package/dist/server/middleware.js +33 -0
  89. package/dist/server/middleware.js.map +1 -1
  90. package/dist/server/middleware.test-d.js +1 -1
  91. package/dist/server/middleware.test-d.js.map +1 -1
  92. package/dist/server/middleware.test.js +38 -3
  93. package/dist/server/middleware.test.js.map +1 -1
  94. package/dist/server/register-tool.test.d.ts +1 -0
  95. package/dist/server/register-tool.test.js +25 -0
  96. package/dist/server/register-tool.test.js.map +1 -0
  97. package/dist/server/server.d.ts +86 -50
  98. package/dist/server/server.js +101 -58
  99. package/dist/server/server.js.map +1 -1
  100. package/dist/server/skills-integration.test.js +31 -15
  101. package/dist/server/skills-integration.test.js.map +1 -1
  102. package/dist/server/skills.d.ts +14 -10
  103. package/dist/server/skills.js +48 -38
  104. package/dist/server/skills.js.map +1 -1
  105. package/dist/server/skills.test.js +77 -44
  106. package/dist/server/skills.test.js.map +1 -1
  107. package/dist/server/tool-extra.test.d.ts +1 -0
  108. package/dist/server/tool-extra.test.js +72 -0
  109. package/dist/server/tool-extra.test.js.map +1 -0
  110. package/dist/server/view-resource-resolution.test.js +1 -3
  111. package/dist/server/view-resource-resolution.test.js.map +1 -1
  112. package/dist/standard-schema.d.ts +3 -0
  113. package/dist/standard-schema.js +2 -0
  114. package/dist/standard-schema.js.map +1 -0
  115. package/dist/test/utils.d.ts +5 -8
  116. package/dist/test/utils.js +8 -4
  117. package/dist/test/utils.js.map +1 -1
  118. package/dist/test/view.test.js +17 -17
  119. package/dist/test/view.test.js.map +1 -1
  120. package/dist/web/bridges/adaptor.js +14 -17
  121. package/dist/web/bridges/adaptor.js.map +1 -1
  122. package/dist/web/bridges/adaptor.test.js +24 -7
  123. package/dist/web/bridges/adaptor.test.js.map +1 -1
  124. package/dist/web/bridges/apps-sdk/use-apps-sdk-context.d.ts +1 -1
  125. package/dist/web/bridges/apps-sdk/use-apps-sdk-context.js +1 -1
  126. package/dist/web/bridges/apps-sdk/use-apps-sdk-context.js.map +1 -1
  127. package/dist/web/bridges/mcp-app/bridge.js +5 -3
  128. package/dist/web/bridges/mcp-app/bridge.js.map +1 -1
  129. package/dist/web/bridges/mcp-app/bridge.test.js +1 -1
  130. package/dist/web/bridges/mcp-app/bridge.test.js.map +1 -1
  131. package/dist/web/bridges/mcp-app/types.d.ts +2 -0
  132. package/dist/web/bridges/mcp-app/types.js.map +1 -1
  133. package/dist/web/bridges/mcp-app/use-mcp-app-context.d.ts +1 -1
  134. package/dist/web/bridges/mcp-app/use-mcp-app-context.js +1 -1
  135. package/dist/web/bridges/mcp-app/use-mcp-app-context.js.map +1 -1
  136. package/dist/web/bridges/types.d.ts +17 -9
  137. package/dist/web/bridges/types.js.map +1 -1
  138. package/dist/web/create-store.test.js +1 -1
  139. package/dist/web/create-store.test.js.map +1 -1
  140. package/dist/web/data-llm.test.js +4 -3
  141. package/dist/web/data-llm.test.js.map +1 -1
  142. package/dist/web/hooks/index.d.ts +2 -1
  143. package/dist/web/hooks/index.js +2 -1
  144. package/dist/web/hooks/index.js.map +1 -1
  145. package/dist/web/hooks/test/utils.d.ts +2 -1
  146. package/dist/web/hooks/test/utils.js +1 -1
  147. package/dist/web/hooks/test/utils.js.map +1 -1
  148. package/dist/web/hooks/use-call-tool.test.js +2 -2
  149. package/dist/web/hooks/use-call-tool.test.js.map +1 -1
  150. package/dist/web/hooks/use-display-mode.d.ts +1 -1
  151. package/dist/web/hooks/use-display-mode.js +1 -1
  152. package/dist/web/hooks/use-display-mode.js.map +1 -1
  153. package/dist/web/hooks/use-display-mode.test.js +1 -1
  154. package/dist/web/hooks/use-display-mode.test.js.map +1 -1
  155. package/dist/web/hooks/use-download.d.ts +1 -3
  156. package/dist/web/hooks/use-download.js +1 -2
  157. package/dist/web/hooks/use-download.js.map +1 -1
  158. package/dist/web/hooks/use-download.test.js +5 -5
  159. package/dist/web/hooks/use-download.test.js.map +1 -1
  160. package/dist/web/hooks/use-files.test.js +1 -1
  161. package/dist/web/hooks/use-files.test.js.map +1 -1
  162. package/dist/web/hooks/use-host.d.ts +22 -0
  163. package/dist/web/hooks/use-host.js +30 -0
  164. package/dist/web/hooks/use-host.js.map +1 -0
  165. package/dist/web/hooks/use-host.test.d.ts +1 -0
  166. package/dist/web/hooks/use-host.test.js +59 -0
  167. package/dist/web/hooks/use-host.test.js.map +1 -0
  168. package/dist/web/hooks/use-open-external.test.js +1 -1
  169. package/dist/web/hooks/use-open-external.test.js.map +1 -1
  170. package/dist/web/hooks/use-register-view-tool.d.ts +2 -3
  171. package/dist/web/hooks/use-register-view-tool.js.map +1 -1
  172. package/dist/web/hooks/use-request-modal.test.js +1 -1
  173. package/dist/web/hooks/use-request-modal.test.js.map +1 -1
  174. package/dist/web/hooks/use-request-size.d.ts +1 -1
  175. package/dist/web/hooks/use-request-size.js +1 -1
  176. package/dist/web/hooks/use-request-size.js.map +1 -1
  177. package/dist/web/hooks/use-set-open-in-app-url.test.js +1 -1
  178. package/dist/web/hooks/use-set-open-in-app-url.test.js.map +1 -1
  179. package/dist/web/hooks/use-tool-info.d.ts +1 -20
  180. package/dist/web/hooks/use-tool-info.js +0 -1
  181. package/dist/web/hooks/use-tool-info.js.map +1 -1
  182. package/dist/web/hooks/use-tool-info.test-d.js +0 -5
  183. package/dist/web/hooks/use-tool-info.test-d.js.map +1 -1
  184. package/dist/web/hooks/use-tool-info.test.js +1 -6
  185. package/dist/web/hooks/use-tool-info.test.js.map +1 -1
  186. package/dist/web/hooks/use-user.d.ts +3 -2
  187. package/dist/web/hooks/use-user.js +4 -3
  188. package/dist/web/hooks/use-user.js.map +1 -1
  189. package/dist/web/hooks/use-user.test.js +4 -2
  190. package/dist/web/hooks/use-user.test.js.map +1 -1
  191. package/dist/web/hooks/use-view-state.js +19 -9
  192. package/dist/web/hooks/use-view-state.js.map +1 -1
  193. package/dist/web/hooks/use-view-state.test.js +32 -1
  194. package/dist/web/hooks/use-view-state.test.js.map +1 -1
  195. package/dist/web/hooks/use-viewport.d.ts +20 -0
  196. package/dist/web/hooks/use-viewport.js +21 -0
  197. package/dist/web/hooks/use-viewport.js.map +1 -0
  198. package/dist/web/hooks/use-viewport.test.d.ts +1 -0
  199. package/dist/web/hooks/{use-layout.test.js → use-viewport.test.js} +11 -31
  200. package/dist/web/hooks/use-viewport.test.js.map +1 -0
  201. package/dist/web/index.d.ts +1 -0
  202. package/dist/web/index.js.map +1 -1
  203. package/dist/web/mount-view.d.ts +3 -2
  204. package/dist/web/mount-view.js +3 -2
  205. package/dist/web/mount-view.js.map +1 -1
  206. package/dist/web/plugin/plugin-build.test.d.ts +1 -0
  207. package/dist/web/plugin/plugin-build.test.js +54 -0
  208. package/dist/web/plugin/plugin-build.test.js.map +1 -0
  209. package/dist/web/plugin/plugin.d.ts +6 -0
  210. package/dist/web/plugin/plugin.js +18 -6
  211. package/dist/web/plugin/plugin.js.map +1 -1
  212. package/dist/web/plugin/plugin.test.d.ts +1 -0
  213. package/dist/web/plugin/plugin.test.js +61 -0
  214. package/dist/web/plugin/plugin.test.js.map +1 -0
  215. package/package.json +10 -6
  216. package/dist/cli/resolve-views-dir.d.ts +0 -1
  217. package/dist/cli/resolve-views-dir.js.map +0 -1
  218. package/dist/web/hooks/use-layout.d.ts +0 -24
  219. package/dist/web/hooks/use-layout.js +0 -25
  220. package/dist/web/hooks/use-layout.js.map +0 -1
  221. package/dist/web/hooks/use-layout.test.js.map +0 -1
  222. /package/dist/{web/hooks/use-layout.test.d.ts → context-warnings.test.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-layout.test.js","sourceRoot":"","sources":["../../../src/web/hooks/use-layout.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { renderHook, waitFor } from \"@testing-library/react\";\nimport { afterEach, beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { HostAdaptor } from \"../bridges/adaptor.js\";\nimport { McpAppBridge } from \"../bridges/mcp-app/bridge.js\";\nimport {\n getMcpAppHostPostMessageMock,\n MockResizeObserver,\n} from \"./test/utils.js\";\nimport { useLayout } from \"./use-layout.js\";\n\ndescribe(\"useLayout\", () => {\n describe(\"apps-sdk host type\", () => {\n beforeEach(() => {\n HostAdaptor.resetInstance();\n McpAppBridge.resetInstance();\n vi.stubGlobal(\"skybridge\", { hostType: \"apps-sdk\" });\n vi.stubGlobal(\"openai\", { view: { mode: \"inline\" } });\n vi.stubGlobal(\"ResizeObserver\", MockResizeObserver);\n });\n\n afterEach(() => {\n vi.unstubAllGlobals();\n vi.resetAllMocks();\n McpAppBridge.resetInstance();\n HostAdaptor.resetInstance();\n });\n\n it(\"should return theme, maxHeight, and safeArea from mcp host context\", async () => {\n vi.stubGlobal(\"parent\", {\n postMessage: getMcpAppHostPostMessageMock({\n theme: \"light\",\n containerDimensions: { maxHeight: 500, width: 400 },\n safeAreaInsets: { top: 0, bottom: 0, left: 0, right: 0 },\n }),\n });\n const { result } = renderHook(() => useLayout());\n\n await waitFor(() => {\n expect(result.current.theme).toBe(\"light\");\n expect(result.current.maxHeight).toBe(500);\n expect(result.current.safeArea).toEqual({\n insets: { top: 0, bottom: 0, left: 0, right: 0 },\n });\n });\n });\n\n it(\"should return dark theme when set to dark\", async () => {\n vi.stubGlobal(\"parent\", {\n postMessage: getMcpAppHostPostMessageMock({\n theme: \"dark\",\n containerDimensions: { maxHeight: 500, width: 400 },\n safeAreaInsets: { top: 0, bottom: 0, left: 0, right: 0 },\n }),\n });\n const { result } = renderHook(() => useLayout());\n\n await waitFor(() => {\n expect(result.current.theme).toBe(\"dark\");\n });\n });\n\n it(\"should return different maxHeight when set\", async () => {\n vi.stubGlobal(\"parent\", {\n postMessage: getMcpAppHostPostMessageMock({\n theme: \"light\",\n containerDimensions: { maxHeight: 800, width: 400 },\n safeAreaInsets: { top: 0, bottom: 0, left: 0, right: 0 },\n }),\n });\n const { result } = renderHook(() => useLayout());\n\n await waitFor(() => {\n expect(result.current.maxHeight).toBe(800);\n });\n });\n\n it(\"should return safeArea with insets when set\", async () => {\n vi.stubGlobal(\"parent\", {\n postMessage: getMcpAppHostPostMessageMock({\n theme: \"light\",\n containerDimensions: { maxHeight: 500, width: 400 },\n safeAreaInsets: { top: 44, bottom: 34, left: 0, right: 0 },\n }),\n });\n const { result } = renderHook(() => useLayout());\n\n await waitFor(() => {\n expect(result.current.safeArea.insets.top).toBe(44);\n expect(result.current.safeArea.insets.bottom).toBe(34);\n });\n });\n });\n\n describe(\"mcp-app host type\", () => {\n beforeEach(() => {\n HostAdaptor.resetInstance();\n McpAppBridge.resetInstance();\n vi.stubGlobal(\"skybridge\", { hostType: \"mcp-app\" });\n vi.stubGlobal(\"openai\", undefined);\n vi.stubGlobal(\"ResizeObserver\", MockResizeObserver);\n });\n\n afterEach(async () => {\n vi.unstubAllGlobals();\n vi.resetAllMocks();\n McpAppBridge.resetInstance();\n HostAdaptor.resetInstance();\n });\n\n it(\"should return theme, maxHeight, and safeArea from mcp host context\", async () => {\n vi.stubGlobal(\"parent\", {\n postMessage: getMcpAppHostPostMessageMock({\n theme: \"dark\",\n containerDimensions: { maxHeight: 800, width: 400 },\n safeAreaInsets: { top: 20, right: 0, bottom: 34, left: 0 },\n }),\n });\n const { result } = renderHook(() => useLayout());\n\n await waitFor(() => {\n expect(result.current.theme).toBe(\"dark\");\n expect(result.current.maxHeight).toBe(800);\n expect(result.current.safeArea).toEqual({\n insets: { top: 20, right: 0, bottom: 34, left: 0 },\n });\n });\n });\n\n it(\"should maintain safeArea referential stability when data has not changed\", async () => {\n vi.stubGlobal(\"parent\", {\n postMessage: getMcpAppHostPostMessageMock({\n theme: \"light\",\n containerDimensions: { maxHeight: 500, width: 400 },\n safeAreaInsets: { top: 44, right: 0, bottom: 34, left: 0 },\n }),\n });\n const { result, rerender } = renderHook(() => useLayout());\n\n await waitFor(() => {\n expect(result.current.safeArea).toBeDefined();\n });\n\n const initialSafeArea = result.current.safeArea;\n\n rerender();\n\n expect(result.current.safeArea).toBe(initialSafeArea);\n });\n });\n});\n"]}