skybridge 0.0.0-dev.f06114a → 0.0.0-dev.f06e6cc

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 (445) hide show
  1. package/README.md +126 -124
  2. package/dist/cli/build-helpers.d.ts +11 -0
  3. package/dist/cli/build-helpers.js +107 -0
  4. package/dist/cli/build-helpers.js.map +1 -0
  5. package/dist/cli/build-helpers.test.js +132 -0
  6. package/dist/cli/build-helpers.test.js.map +1 -0
  7. package/dist/cli/build-steps.d.ts +2 -0
  8. package/dist/cli/build-steps.js +73 -0
  9. package/dist/cli/build-steps.js.map +1 -0
  10. package/dist/cli/build-steps.test.js +52 -0
  11. package/dist/cli/build-steps.test.js.map +1 -0
  12. package/dist/cli/detect-port.d.ts +2 -2
  13. package/dist/cli/detect-port.js +8 -20
  14. package/dist/cli/detect-port.js.map +1 -1
  15. package/dist/cli/header.d.ts +1 -1
  16. package/dist/cli/header.js.map +1 -1
  17. package/dist/cli/resolve-skybridge-config.d.ts +5 -0
  18. package/dist/cli/resolve-skybridge-config.js +18 -0
  19. package/dist/cli/resolve-skybridge-config.js.map +1 -0
  20. package/dist/cli/run-command.js.map +1 -1
  21. package/dist/cli/run-plain.d.ts +18 -0
  22. package/dist/cli/run-plain.js +89 -0
  23. package/dist/cli/run-plain.js.map +1 -0
  24. package/dist/cli/telemetry.js +2 -0
  25. package/dist/cli/telemetry.js.map +1 -1
  26. package/dist/cli/tunnel-control-server.js.map +1 -1
  27. package/dist/cli/tunnel-control-server.test.js.map +1 -1
  28. package/dist/cli/tunnel-handler.js.map +1 -1
  29. package/dist/cli/tunnel-handler.test.js.map +1 -1
  30. package/dist/cli/tunnel.js.map +1 -1
  31. package/dist/cli/tunnel.test.js.map +1 -1
  32. package/dist/cli/types.js.map +1 -1
  33. package/dist/cli/use-execute-steps.d.ts +1 -1
  34. package/dist/cli/use-execute-steps.js.map +1 -1
  35. package/dist/cli/use-messages.js.map +1 -1
  36. package/dist/cli/use-nodemon.d.ts +14 -0
  37. package/dist/cli/use-nodemon.js +82 -54
  38. package/dist/cli/use-nodemon.js.map +1 -1
  39. package/dist/cli/use-open-browser.js.map +1 -1
  40. package/dist/cli/use-tunnel.js.map +1 -1
  41. package/dist/cli/use-typescript-check.d.ts +8 -2
  42. package/dist/cli/use-typescript-check.js +71 -68
  43. package/dist/cli/use-typescript-check.js.map +1 -1
  44. package/dist/commands/build.d.ts +0 -3
  45. package/dist/commands/build.js +2 -73
  46. package/dist/commands/build.js.map +1 -1
  47. package/dist/commands/create.d.ts +9 -0
  48. package/dist/commands/create.js +30 -0
  49. package/dist/commands/create.js.map +1 -0
  50. package/dist/commands/dev.d.ts +1 -0
  51. package/dist/commands/dev.js +48 -0
  52. package/dist/commands/dev.js.map +1 -1
  53. package/dist/commands/start.js +7 -1
  54. package/dist/commands/start.js.map +1 -1
  55. package/dist/commands/telemetry/disable.js.map +1 -1
  56. package/dist/commands/telemetry/enable.js.map +1 -1
  57. package/dist/commands/telemetry/status.js.map +1 -1
  58. package/dist/context-warnings.d.ts +5 -0
  59. package/dist/context-warnings.js +31 -0
  60. package/dist/context-warnings.js.map +1 -0
  61. package/dist/context-warnings.test.js +28 -0
  62. package/dist/context-warnings.test.js.map +1 -0
  63. package/dist/server/app.d.ts +194 -0
  64. package/dist/server/app.js +266 -0
  65. package/dist/server/app.js.map +1 -0
  66. package/dist/server/app.test.js +97 -0
  67. package/dist/server/app.test.js.map +1 -0
  68. package/dist/server/asset-base-url-transform-plugin.d.ts +1 -0
  69. package/dist/server/asset-base-url-transform-plugin.js +16 -1
  70. package/dist/server/asset-base-url-transform-plugin.js.map +1 -1
  71. package/dist/server/asset-base-url-transform-plugin.test.js +51 -1
  72. package/dist/server/asset-base-url-transform-plugin.test.js.map +1 -1
  73. package/dist/server/auth/discovery.d.ts +33 -0
  74. package/dist/server/auth/discovery.js +56 -0
  75. package/dist/server/auth/discovery.js.map +1 -0
  76. package/dist/server/auth/discovery.test.d.ts +1 -0
  77. package/dist/server/auth/discovery.test.js +93 -0
  78. package/dist/server/auth/discovery.test.js.map +1 -0
  79. package/dist/server/auth/index.d.ts +48 -0
  80. package/dist/server/auth/index.js +2 -0
  81. package/dist/server/auth/index.js.map +1 -0
  82. package/dist/server/auth/providers/auth0.d.ts +40 -0
  83. package/dist/server/auth/providers/auth0.js +36 -0
  84. package/dist/server/auth/providers/auth0.js.map +1 -0
  85. package/dist/server/auth/providers/auth0.test.d.ts +1 -0
  86. package/dist/server/auth/providers/auth0.test.js +50 -0
  87. package/dist/server/auth/providers/auth0.test.js.map +1 -0
  88. package/dist/server/auth/providers/authplane.d.ts +49 -0
  89. package/dist/server/auth/providers/authplane.js +57 -0
  90. package/dist/server/auth/providers/authplane.js.map +1 -0
  91. package/dist/server/auth/providers/authplane.test.d.ts +1 -0
  92. package/dist/server/auth/providers/authplane.test.js +143 -0
  93. package/dist/server/auth/providers/authplane.test.js.map +1 -0
  94. package/dist/server/auth/providers/clerk.d.ts +51 -0
  95. package/dist/server/auth/providers/clerk.js +19 -0
  96. package/dist/server/auth/providers/clerk.js.map +1 -0
  97. package/dist/server/auth/providers/clerk.test.d.ts +1 -0
  98. package/dist/server/auth/providers/clerk.test.js +30 -0
  99. package/dist/server/auth/providers/clerk.test.js.map +1 -0
  100. package/dist/server/auth/providers/custom.d.ts +40 -0
  101. package/dist/server/auth/providers/custom.js +59 -0
  102. package/dist/server/auth/providers/custom.js.map +1 -0
  103. package/dist/server/auth/providers/custom.test.d.ts +1 -0
  104. package/dist/server/auth/providers/custom.test.js +161 -0
  105. package/dist/server/auth/providers/custom.test.js.map +1 -0
  106. package/dist/server/auth/providers/descope.d.ts +44 -0
  107. package/dist/server/auth/providers/descope.js +44 -0
  108. package/dist/server/auth/providers/descope.js.map +1 -0
  109. package/dist/server/auth/providers/descope.test.d.ts +1 -0
  110. package/dist/server/auth/providers/descope.test.js +62 -0
  111. package/dist/server/auth/providers/descope.test.js.map +1 -0
  112. package/dist/server/auth/providers/shared.d.ts +2 -0
  113. package/dist/server/auth/providers/shared.js +6 -0
  114. package/dist/server/auth/providers/shared.js.map +1 -0
  115. package/dist/server/auth/providers/shared.test.d.ts +1 -0
  116. package/dist/server/auth/providers/shared.test.js +10 -0
  117. package/dist/server/auth/providers/shared.test.js.map +1 -0
  118. package/dist/server/auth/providers/stytch.d.ts +25 -0
  119. package/dist/server/auth/providers/stytch.js +16 -0
  120. package/dist/server/auth/providers/stytch.js.map +1 -0
  121. package/dist/server/auth/providers/verify-spy.d.ts +12 -0
  122. package/dist/server/auth/providers/verify-spy.js +21 -0
  123. package/dist/server/auth/providers/verify-spy.js.map +1 -0
  124. package/dist/server/auth/providers/workos.d.ts +33 -0
  125. package/dist/server/auth/providers/workos.js +15 -0
  126. package/dist/server/auth/providers/workos.js.map +1 -0
  127. package/dist/server/auth/security-schemes.d.ts +23 -0
  128. package/dist/server/auth/security-schemes.js +64 -0
  129. package/dist/server/auth/security-schemes.js.map +1 -0
  130. package/dist/server/auth/security-schemes.test.d.ts +1 -0
  131. package/dist/server/auth/security-schemes.test.js +99 -0
  132. package/dist/server/auth/security-schemes.test.js.map +1 -0
  133. package/dist/server/auth/setup.d.ts +6 -0
  134. package/dist/server/auth/setup.js +91 -0
  135. package/dist/server/auth/setup.js.map +1 -0
  136. package/dist/server/auth/setup.test.d.ts +1 -0
  137. package/dist/server/auth/setup.test.js +514 -0
  138. package/dist/server/auth/setup.test.js.map +1 -0
  139. package/dist/server/auth/verify.d.ts +46 -0
  140. package/dist/server/auth/verify.js +62 -0
  141. package/dist/server/auth/verify.js.map +1 -0
  142. package/dist/server/auth/verify.test.d.ts +1 -0
  143. package/dist/server/auth/verify.test.js +149 -0
  144. package/dist/server/auth/verify.test.js.map +1 -0
  145. package/dist/server/auth-extra.test-d.js +130 -0
  146. package/dist/server/auth-extra.test-d.js.map +1 -0
  147. package/dist/server/auth.d.ts +57 -0
  148. package/dist/server/auth.js +27 -0
  149. package/dist/server/auth.js.map +1 -0
  150. package/dist/server/build-manifest.test.d.ts +1 -0
  151. package/dist/server/build-manifest.test.js +28 -0
  152. package/dist/server/build-manifest.test.js.map +1 -0
  153. package/dist/server/content-helpers.d.ts +41 -1
  154. package/dist/server/content-helpers.js +33 -0
  155. package/dist/server/content-helpers.js.map +1 -1
  156. package/dist/server/content-helpers.test.js.map +1 -1
  157. package/dist/server/express.d.ts +23 -3
  158. package/dist/server/express.js +38 -32
  159. package/dist/server/express.js.map +1 -1
  160. package/dist/server/express.test.js +268 -90
  161. package/dist/server/express.test.js.map +1 -1
  162. package/dist/server/file-ref.d.ts +28 -0
  163. package/dist/server/file-ref.js +27 -0
  164. package/dist/server/file-ref.js.map +1 -0
  165. package/dist/server/host.d.ts +2 -0
  166. package/dist/server/host.js +11 -0
  167. package/dist/server/host.js.map +1 -0
  168. package/dist/server/host.test.d.ts +1 -0
  169. package/dist/server/host.test.js +13 -0
  170. package/dist/server/host.test.js.map +1 -0
  171. package/dist/server/index.d.ts +18 -2
  172. package/dist/server/index.js +15 -1
  173. package/dist/server/index.js.map +1 -1
  174. package/dist/server/inferUtilityTypes.js.map +1 -1
  175. package/dist/server/mcp-errors.test.d.ts +1 -0
  176. package/dist/server/mcp-errors.test.js +41 -0
  177. package/dist/server/mcp-errors.test.js.map +1 -0
  178. package/dist/server/metric.js.map +1 -1
  179. package/dist/server/middleware.d.ts +51 -13
  180. package/dist/server/middleware.js +33 -0
  181. package/dist/server/middleware.js.map +1 -1
  182. package/dist/server/middleware.test-d.js +1 -1
  183. package/dist/server/middleware.test-d.js.map +1 -1
  184. package/dist/server/middleware.test.js +242 -134
  185. package/dist/server/middleware.test.js.map +1 -1
  186. package/dist/server/register-tool.test.d.ts +1 -0
  187. package/dist/server/register-tool.test.js +27 -0
  188. package/dist/server/register-tool.test.js.map +1 -0
  189. package/dist/server/requestOrigin.d.ts +7 -0
  190. package/dist/server/requestOrigin.js +25 -0
  191. package/dist/server/requestOrigin.js.map +1 -0
  192. package/dist/server/server.d.ts +288 -64
  193. package/dist/server/server.js +392 -314
  194. package/dist/server/server.js.map +1 -1
  195. package/dist/server/skills-integration.test.d.ts +1 -0
  196. package/dist/server/skills-integration.test.js +86 -0
  197. package/dist/server/skills-integration.test.js.map +1 -0
  198. package/dist/server/skills.d.ts +27 -0
  199. package/dist/server/skills.js +188 -0
  200. package/dist/server/skills.js.map +1 -0
  201. package/dist/server/skills.test.d.ts +1 -0
  202. package/dist/server/skills.test.js +243 -0
  203. package/dist/server/skills.test.js.map +1 -0
  204. package/dist/server/templateHelper.d.ts +0 -3
  205. package/dist/server/templateHelper.js.map +1 -1
  206. package/dist/server/templates.generated.js +4 -8
  207. package/dist/server/templates.generated.js.map +1 -1
  208. package/dist/server/tool-extra.test.d.ts +1 -0
  209. package/dist/server/tool-extra.test.js +88 -0
  210. package/dist/server/tool-extra.test.js.map +1 -0
  211. package/dist/server/tunnel-proxy-router.js.map +1 -1
  212. package/dist/server/tunnel-proxy-router.test.js.map +1 -1
  213. package/dist/server/view-name.test-d.d.ts +1 -0
  214. package/dist/server/view-name.test-d.js +8 -0
  215. package/dist/server/view-name.test-d.js.map +1 -0
  216. package/dist/server/view-resource-resolution.test.d.ts +6 -0
  217. package/dist/server/view-resource-resolution.test.js +176 -0
  218. package/dist/server/view-resource-resolution.test.js.map +1 -0
  219. package/dist/server/viewsDevServer.js +4 -1
  220. package/dist/server/viewsDevServer.js.map +1 -1
  221. package/dist/test/utils.d.ts +9 -11
  222. package/dist/test/utils.js +220 -201
  223. package/dist/test/utils.js.map +1 -1
  224. package/dist/test/view.test.js +123 -106
  225. package/dist/test/view.test.js.map +1 -1
  226. package/dist/version.js.map +1 -1
  227. package/dist/views/index.d.ts +10 -0
  228. package/dist/views/index.js +3 -0
  229. package/dist/views/index.js.map +1 -0
  230. package/dist/{web/plugin → views}/scan-views.js +1 -1
  231. package/dist/views/scan-views.js.map +1 -0
  232. package/dist/views/scan-views.test.d.ts +1 -0
  233. package/dist/views/scan-views.test.js.map +1 -0
  234. package/dist/views/validate-view.d.ts +1 -0
  235. package/dist/{web/plugin → views}/validate-view.js +2 -2
  236. package/dist/views/validate-view.js.map +1 -0
  237. package/dist/views/validate-view.test.d.ts +1 -0
  238. package/dist/views/validate-view.test.js.map +1 -0
  239. package/dist/web/bridges/adaptor.d.ts +51 -0
  240. package/dist/web/bridges/adaptor.js +327 -0
  241. package/dist/web/bridges/adaptor.js.map +1 -0
  242. package/dist/web/bridges/adaptor.test.d.ts +1 -0
  243. package/dist/web/bridges/adaptor.test.js +225 -0
  244. package/dist/web/bridges/adaptor.test.js.map +1 -0
  245. package/dist/web/bridges/apps-sdk/bridge.d.ts +6 -1
  246. package/dist/web/bridges/apps-sdk/bridge.js +15 -3
  247. package/dist/web/bridges/apps-sdk/bridge.js.map +1 -1
  248. package/dist/web/bridges/apps-sdk/index.d.ts +0 -1
  249. package/dist/web/bridges/apps-sdk/index.js +0 -1
  250. package/dist/web/bridges/apps-sdk/index.js.map +1 -1
  251. package/dist/web/bridges/apps-sdk/types.d.ts +8 -1
  252. package/dist/web/bridges/apps-sdk/types.js.map +1 -1
  253. package/dist/web/bridges/apps-sdk/use-apps-sdk-context.d.ts +11 -0
  254. package/dist/web/bridges/apps-sdk/use-apps-sdk-context.js +11 -0
  255. package/dist/web/bridges/apps-sdk/use-apps-sdk-context.js.map +1 -1
  256. package/dist/web/bridges/get-adaptor.d.ts +7 -0
  257. package/dist/web/bridges/get-adaptor.js +9 -7
  258. package/dist/web/bridges/get-adaptor.js.map +1 -1
  259. package/dist/web/bridges/get-adaptor.test.d.ts +1 -0
  260. package/dist/web/bridges/get-adaptor.test.js +32 -0
  261. package/dist/web/bridges/get-adaptor.test.js.map +1 -0
  262. package/dist/web/bridges/index.js.map +1 -1
  263. package/dist/web/bridges/mcp-app/bridge.d.ts +15 -2
  264. package/dist/web/bridges/mcp-app/bridge.js +73 -7
  265. package/dist/web/bridges/mcp-app/bridge.js.map +1 -1
  266. package/dist/web/bridges/mcp-app/bridge.test.d.ts +1 -0
  267. package/dist/web/bridges/mcp-app/bridge.test.js +17 -0
  268. package/dist/web/bridges/mcp-app/bridge.test.js.map +1 -0
  269. package/dist/web/bridges/mcp-app/index.d.ts +0 -1
  270. package/dist/web/bridges/mcp-app/index.js +0 -1
  271. package/dist/web/bridges/mcp-app/index.js.map +1 -1
  272. package/dist/web/bridges/mcp-app/types.d.ts +2 -0
  273. package/dist/web/bridges/mcp-app/types.js.map +1 -1
  274. package/dist/web/bridges/mcp-app/use-mcp-app-context.d.ts +12 -0
  275. package/dist/web/bridges/mcp-app/use-mcp-app-context.js +12 -0
  276. package/dist/web/bridges/mcp-app/use-mcp-app-context.js.map +1 -1
  277. package/dist/web/bridges/mcp-app/use-mcp-app-context.test.js +1 -1
  278. package/dist/web/bridges/mcp-app/use-mcp-app-context.test.js.map +1 -1
  279. package/dist/web/bridges/mcp-app/view-tools.test.d.ts +1 -0
  280. package/dist/web/bridges/mcp-app/view-tools.test.js +143 -0
  281. package/dist/web/bridges/mcp-app/view-tools.test.js.map +1 -0
  282. package/dist/web/bridges/types.d.ts +115 -5
  283. package/dist/web/bridges/types.js +14 -1
  284. package/dist/web/bridges/types.js.map +1 -1
  285. package/dist/web/bridges/types.test.d.ts +1 -0
  286. package/dist/web/bridges/types.test.js +19 -0
  287. package/dist/web/bridges/types.test.js.map +1 -0
  288. package/dist/web/bridges/use-host-context.d.ts +5 -0
  289. package/dist/web/bridges/use-host-context.js +5 -0
  290. package/dist/web/bridges/use-host-context.js.map +1 -1
  291. package/dist/web/components/modal-provider.d.ts +1 -1
  292. package/dist/web/components/modal-provider.js +4 -3
  293. package/dist/web/components/modal-provider.js.map +1 -1
  294. package/dist/web/create-store.d.ts +26 -0
  295. package/dist/web/create-store.js +26 -0
  296. package/dist/web/create-store.js.map +1 -1
  297. package/dist/web/create-store.test.js +10 -7
  298. package/dist/web/create-store.test.js.map +1 -1
  299. package/dist/web/data-llm.d.ts +34 -1
  300. package/dist/web/data-llm.js +28 -0
  301. package/dist/web/data-llm.js.map +1 -1
  302. package/dist/web/data-llm.test.js +20 -7
  303. package/dist/web/data-llm.test.js.map +1 -1
  304. package/dist/web/generate-helpers.d.ts +24 -18
  305. package/dist/web/generate-helpers.js +21 -15
  306. package/dist/web/generate-helpers.js.map +1 -1
  307. package/dist/web/generate-helpers.test-d.js +7 -5
  308. package/dist/web/generate-helpers.test-d.js.map +1 -1
  309. package/dist/web/generate-helpers.test.js +2 -2
  310. package/dist/web/generate-helpers.test.js.map +1 -1
  311. package/dist/web/helpers/state.js.map +1 -1
  312. package/dist/web/helpers/state.test.js.map +1 -1
  313. package/dist/web/hooks/index.d.ts +6 -1
  314. package/dist/web/hooks/index.js +6 -1
  315. package/dist/web/hooks/index.js.map +1 -1
  316. package/dist/web/hooks/test/utils.d.ts +7 -2
  317. package/dist/web/hooks/test/utils.js +14 -3
  318. package/dist/web/hooks/test/utils.js.map +1 -1
  319. package/dist/web/hooks/use-call-tool.d.ts +45 -0
  320. package/dist/web/hooks/use-call-tool.js +28 -0
  321. package/dist/web/hooks/use-call-tool.js.map +1 -1
  322. package/dist/web/hooks/use-call-tool.test-d.js.map +1 -1
  323. package/dist/web/hooks/use-call-tool.test.js +64 -29
  324. package/dist/web/hooks/use-call-tool.test.js.map +1 -1
  325. package/dist/web/hooks/use-display-mode.d.ts +20 -0
  326. package/dist/web/hooks/use-display-mode.js +20 -0
  327. package/dist/web/hooks/use-display-mode.js.map +1 -1
  328. package/dist/web/hooks/use-display-mode.test-d.js.map +1 -1
  329. package/dist/web/hooks/use-display-mode.test.js +57 -21
  330. package/dist/web/hooks/use-display-mode.test.js.map +1 -1
  331. package/dist/web/hooks/use-download.d.ts +3 -0
  332. package/dist/web/hooks/use-download.js +7 -0
  333. package/dist/web/hooks/use-download.js.map +1 -0
  334. package/dist/web/hooks/use-download.test.d.ts +1 -0
  335. package/dist/web/hooks/use-download.test.js +103 -0
  336. package/dist/web/hooks/use-download.test.js.map +1 -0
  337. package/dist/web/hooks/use-files.d.ts +32 -0
  338. package/dist/web/hooks/use-files.js +32 -0
  339. package/dist/web/hooks/use-files.js.map +1 -1
  340. package/dist/web/hooks/use-files.test.js +11 -3
  341. package/dist/web/hooks/use-files.test.js.map +1 -1
  342. package/dist/web/hooks/use-host.d.ts +22 -0
  343. package/dist/web/hooks/use-host.js +30 -0
  344. package/dist/web/hooks/use-host.js.map +1 -0
  345. package/dist/web/hooks/use-host.test.d.ts +1 -0
  346. package/dist/web/hooks/use-host.test.js +59 -0
  347. package/dist/web/hooks/use-host.test.js.map +1 -0
  348. package/dist/web/hooks/use-open-external.d.ts +17 -0
  349. package/dist/web/hooks/use-open-external.js +16 -0
  350. package/dist/web/hooks/use-open-external.js.map +1 -1
  351. package/dist/web/hooks/use-open-external.test.js +15 -5
  352. package/dist/web/hooks/use-open-external.test.js.map +1 -1
  353. package/dist/web/hooks/use-register-view-tool.d.ts +37 -0
  354. package/dist/web/hooks/use-register-view-tool.js +50 -0
  355. package/dist/web/hooks/use-register-view-tool.js.map +1 -0
  356. package/dist/web/hooks/use-request-close.d.ts +16 -0
  357. package/dist/web/hooks/use-request-close.js +21 -0
  358. package/dist/web/hooks/use-request-close.js.map +1 -0
  359. package/dist/web/hooks/use-request-close.test.d.ts +1 -0
  360. package/dist/web/hooks/use-request-close.test.js +47 -0
  361. package/dist/web/hooks/use-request-close.test.js.map +1 -0
  362. package/dist/web/hooks/use-request-modal.d.ts +16 -1
  363. package/dist/web/hooks/use-request-modal.js +16 -1
  364. package/dist/web/hooks/use-request-modal.js.map +1 -1
  365. package/dist/web/hooks/use-request-modal.test.js +11 -1
  366. package/dist/web/hooks/use-request-modal.test.js.map +1 -1
  367. package/dist/web/hooks/use-request-size.d.ts +20 -0
  368. package/dist/web/hooks/use-request-size.js +24 -0
  369. package/dist/web/hooks/use-request-size.js.map +1 -0
  370. package/dist/web/hooks/use-request-size.test.d.ts +1 -0
  371. package/dist/web/hooks/use-request-size.test.js +47 -0
  372. package/dist/web/hooks/use-request-size.test.js.map +1 -0
  373. package/dist/web/hooks/use-send-follow-up-message.d.ts +19 -1
  374. package/dist/web/hooks/use-send-follow-up-message.js +19 -2
  375. package/dist/web/hooks/use-send-follow-up-message.js.map +1 -1
  376. package/dist/web/hooks/use-set-open-in-app-url.d.ts +17 -0
  377. package/dist/web/hooks/use-set-open-in-app-url.js +17 -0
  378. package/dist/web/hooks/use-set-open-in-app-url.js.map +1 -1
  379. package/dist/web/hooks/use-set-open-in-app-url.test.js +26 -12
  380. package/dist/web/hooks/use-set-open-in-app-url.test.js.map +1 -1
  381. package/dist/web/hooks/use-tool-info.d.ts +46 -14
  382. package/dist/web/hooks/use-tool-info.js +29 -7
  383. package/dist/web/hooks/use-tool-info.js.map +1 -1
  384. package/dist/web/hooks/use-tool-info.test-d.js +11 -34
  385. package/dist/web/hooks/use-tool-info.test-d.js.map +1 -1
  386. package/dist/web/hooks/use-tool-info.test.js +42 -37
  387. package/dist/web/hooks/use-tool-info.test.js.map +1 -1
  388. package/dist/web/hooks/use-user.d.ts +5 -2
  389. package/dist/web/hooks/use-user.js +6 -3
  390. package/dist/web/hooks/use-user.js.map +1 -1
  391. package/dist/web/hooks/use-user.test.js +85 -37
  392. package/dist/web/hooks/use-user.test.js.map +1 -1
  393. package/dist/web/hooks/use-view-state.d.ts +21 -0
  394. package/dist/web/hooks/use-view-state.js +19 -9
  395. package/dist/web/hooks/use-view-state.js.map +1 -1
  396. package/dist/web/hooks/use-view-state.test.js +39 -4
  397. package/dist/web/hooks/use-view-state.test.js.map +1 -1
  398. package/dist/web/hooks/use-viewport.d.ts +20 -0
  399. package/dist/web/hooks/use-viewport.js +21 -0
  400. package/dist/web/hooks/use-viewport.js.map +1 -0
  401. package/dist/web/hooks/use-viewport.test.d.ts +1 -0
  402. package/dist/web/hooks/use-viewport.test.js +109 -0
  403. package/dist/web/hooks/use-viewport.test.js.map +1 -0
  404. package/dist/web/index.js.map +1 -1
  405. package/dist/web/mount-view.d.ts +20 -0
  406. package/dist/web/mount-view.js +22 -6
  407. package/dist/web/mount-view.js.map +1 -1
  408. package/dist/web/proxy.js.map +1 -1
  409. package/dist/web/types.d.ts +4 -0
  410. package/dist/web/types.js.map +1 -1
  411. package/package.json +34 -23
  412. package/dist/web/bridges/apps-sdk/adaptor.d.ts +0 -24
  413. package/dist/web/bridges/apps-sdk/adaptor.js +0 -93
  414. package/dist/web/bridges/apps-sdk/adaptor.js.map +0 -1
  415. package/dist/web/bridges/mcp-app/adaptor.d.ts +0 -48
  416. package/dist/web/bridges/mcp-app/adaptor.js +0 -268
  417. package/dist/web/bridges/mcp-app/adaptor.js.map +0 -1
  418. package/dist/web/hooks/use-layout.d.ts +0 -22
  419. package/dist/web/hooks/use-layout.js +0 -23
  420. package/dist/web/hooks/use-layout.js.map +0 -1
  421. package/dist/web/hooks/use-layout.test.js +0 -96
  422. package/dist/web/hooks/use-layout.test.js.map +0 -1
  423. package/dist/web/plugin/data-llm.test.js +0 -81
  424. package/dist/web/plugin/data-llm.test.js.map +0 -1
  425. package/dist/web/plugin/plugin.d.ts +0 -5
  426. package/dist/web/plugin/plugin.js +0 -156
  427. package/dist/web/plugin/plugin.js.map +0 -1
  428. package/dist/web/plugin/scan-views.js.map +0 -1
  429. package/dist/web/plugin/scan-views.test.js.map +0 -1
  430. package/dist/web/plugin/transform-data-llm.d.ts +0 -12
  431. package/dist/web/plugin/transform-data-llm.js +0 -96
  432. package/dist/web/plugin/transform-data-llm.js.map +0 -1
  433. package/dist/web/plugin/transform-data-llm.test.js +0 -81
  434. package/dist/web/plugin/transform-data-llm.test.js.map +0 -1
  435. package/dist/web/plugin/validate-view.d.ts +0 -1
  436. package/dist/web/plugin/validate-view.js.map +0 -1
  437. package/dist/web/plugin/validate-view.test.js.map +0 -1
  438. /package/dist/{web/hooks/use-layout.test.d.ts → cli/build-helpers.test.d.ts} +0 -0
  439. /package/dist/{web/plugin/data-llm.test.d.ts → cli/build-steps.test.d.ts} +0 -0
  440. /package/dist/{web/plugin/scan-views.test.d.ts → context-warnings.test.d.ts} +0 -0
  441. /package/dist/{web/plugin/transform-data-llm.test.d.ts → server/app.test.d.ts} +0 -0
  442. /package/dist/{web/plugin/validate-view.test.d.ts → server/auth-extra.test-d.d.ts} +0 -0
  443. /package/dist/{web/plugin → views}/scan-views.d.ts +0 -0
  444. /package/dist/{web/plugin → views}/scan-views.test.js +0 -0
  445. /package/dist/{web/plugin → views}/validate-view.test.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,YAAY,CAAC","sourcesContent":["export * from \"./bridges/index.js\";\nexport { createStore } from \"./create-store.js\";\nexport * from \"./data-llm.js\";\nexport { generateHelpers } from \"./generate-helpers.js\";\nexport * from \"./hooks/index.js\";\nexport { mountView } from \"./mount-view.js\";\nexport * from \"./types.js\";\n"]}
@@ -1 +1,21 @@
1
+ /**
2
+ * Mount a view's root React component into `#root`. The Vite plugin
3
+ * auto-mounts every view, so apps normally never call this themselves —
4
+ * it is the entry point the generated view wrappers use.
5
+ *
6
+ * Wraps the component in `StrictMode`, applies host-specific providers
7
+ * automatically (e.g. modal support for MCP Apps), and installs the dev-mode
8
+ * logging proxy for `window.openai` calls.
9
+ *
10
+ * @param component - Your root React element (already constructed, e.g. `<App />`).
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * // src/views/search.tsx
15
+ * import { mountView } from "skybridge/web";
16
+ * import { App } from "./App";
17
+ *
18
+ * mountView(<App />);
19
+ * ```
20
+ */
1
21
  export declare const mountView: (component: React.ReactNode) => void;
@@ -3,6 +3,26 @@ import { createElement, StrictMode } from "react";
3
3
  import { createRoot } from "react-dom/client";
4
4
  import { installOpenAILoggingProxy } from "./proxy.js";
5
5
  let rootInstance = null;
6
+ /**
7
+ * Mount a view's root React component into `#root`. The Vite plugin
8
+ * auto-mounts every view, so apps normally never call this themselves —
9
+ * it is the entry point the generated view wrappers use.
10
+ *
11
+ * Wraps the component in `StrictMode`, applies host-specific providers
12
+ * automatically (e.g. modal support for MCP Apps), and installs the dev-mode
13
+ * logging proxy for `window.openai` calls.
14
+ *
15
+ * @param component - Your root React element (already constructed, e.g. `<App />`).
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * // src/views/search.tsx
20
+ * import { mountView } from "skybridge/web";
21
+ * import { App } from "./App";
22
+ *
23
+ * mountView(<App />);
24
+ * ```
25
+ */
6
26
  export const mountView = (component) => {
7
27
  const rootElement = document.getElementById("root");
8
28
  if (!rootElement) {
@@ -14,13 +34,9 @@ export const mountView = (component) => {
14
34
  if (import.meta.env.DEV) {
15
35
  installOpenAILoggingProxy();
16
36
  }
17
- const hostType = window.skybridge?.hostType;
18
37
  (async () => {
19
- let app = component;
20
- if (hostType === "mcp-app") {
21
- const { ModalProvider } = await import("./components/modal-provider.js");
22
- app = createElement(ModalProvider, null, component);
23
- }
38
+ const { ModalProvider } = await import("./components/modal-provider.js");
39
+ const app = createElement(ModalProvider, null, component);
24
40
  rootInstance.render(createElement(StrictMode, null, app));
25
41
  })();
26
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mount-view.js","sourceRoot":"","sources":["../../src/web/mount-view.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,IAAI,YAAY,GAAgB,IAAI,CAAC;AAErC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAA0B,EAAE,EAAE;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACxB,yBAAyB,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;IAE5C,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,GAAG,GAAG,SAAS,CAAC;QACpB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;YACzE,GAAG,GAAG,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"mount-view.js","sourceRoot":"","sources":["../../src/web/mount-view.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,IAAI,YAAY,GAAgB,IAAI,CAAC;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAA0B,EAAE,EAAE;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACxB,yBAAyB,EAAE,CAAC;IAC9B,CAAC;IAED,CAAC,KAAK,IAAI,EAAE;QACV,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC;AACP,CAAC,CAAC","sourcesContent":["/// <reference types=\"vite/client\" />\n\nimport { createElement, StrictMode } from \"react\";\nimport { createRoot, type Root } from \"react-dom/client\";\nimport { installOpenAILoggingProxy } from \"./proxy.js\";\n\nlet rootInstance: Root | null = null;\n\n/**\n * Mount a view's root React component into `#root`. The Vite plugin\n * auto-mounts every view, so apps normally never call this themselves —\n * it is the entry point the generated view wrappers use.\n *\n * Wraps the component in `StrictMode`, applies host-specific providers\n * automatically (e.g. modal support for MCP Apps), and installs the dev-mode\n * logging proxy for `window.openai` calls.\n *\n * @param component - Your root React element (already constructed, e.g. `<App />`).\n *\n * @example\n * ```tsx\n * // src/views/search.tsx\n * import { mountView } from \"skybridge/web\";\n * import { App } from \"./App\";\n *\n * mountView(<App />);\n * ```\n */\nexport const mountView = (component: React.ReactNode) => {\n const rootElement = document.getElementById(\"root\");\n if (!rootElement) {\n throw new Error(\"Root element not found\");\n }\n\n if (!rootInstance) {\n rootInstance = createRoot(rootElement);\n }\n\n if (import.meta.env.DEV) {\n installOpenAILoggingProxy();\n }\n\n (async () => {\n const { ModalProvider } = await import(\"./components/modal-provider.js\");\n const app = createElement(ModalProvider, null, component);\n rootInstance.render(createElement(StrictMode, null, app));\n })();\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/web/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/web/proxy.ts"],"names":[],"mappings":"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","sourcesContent":["const colors = {\n brand: \"#6366f1\",\n info: \"#22223b\",\n success: \"#22c55e\",\n error: \"#ef4444\",\n} as const;\n\nexport function installOpenAILoggingProxy() {\n if (typeof window === \"undefined\" || !window.openai) {\n return;\n }\n\n const descriptor = Object.getOwnPropertyDescriptor(window, \"openai\");\n if (descriptor?.configurable === false || descriptor?.writable === false) {\n console.warn(\n \"[openai-proxy] window.openai is not configurable or writable, skipping proxy installation\",\n );\n return;\n }\n\n const originalOpenAI = window.openai;\n\n const handler: ProxyHandler<typeof originalOpenAI> = {\n get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n\n if (typeof value !== \"function\") {\n return value;\n }\n\n return (...args: unknown[]) => {\n const methodName = String(prop);\n\n console.group(\n `%c[openai] %cmethod %c${methodName}`,\n `color: ${colors.brand}; font-weight: normal`,\n `color: ${colors.info}; font-weight: normal`,\n `color: ${colors.success}`,\n );\n console.log(\"%c← args:\", `color: ${colors.info}`, args);\n\n const result = value.apply(target, args);\n\n if (result && typeof result.then === \"function\") {\n return result.then(\n (resolved: unknown) => {\n console.log(\n \"%c→ resolved:\",\n `color: ${colors.success}`,\n resolved,\n );\n console.groupEnd();\n return resolved;\n },\n (error: unknown) => {\n console.error(\"%c→ rejected:\", `color: ${colors.error}`, error);\n console.groupEnd();\n throw error;\n },\n );\n }\n\n console.log(\"%c→ returned:\", `color: ${colors.success}`, result);\n console.groupEnd();\n\n return result;\n };\n },\n\n set(target, prop, value, receiver) {\n console.log(\n `%c[openai] %cupdate %c${String(prop)}`,\n `color: ${colors.brand}`,\n `color: ${colors.info}`,\n `color: ${colors.success}; font-weight: bold`,\n \"←\",\n value,\n );\n\n return Reflect.set(target, prop, value, receiver);\n },\n };\n\n window.openai = new Proxy(originalOpenAI, handler);\n\n console.log(\n \"%c[openai-proxy] %cInstalled logging proxy for window.openai\",\n `color: ${colors.brand}`,\n `color: ${colors.info}`,\n );\n}\n"]}
@@ -4,13 +4,17 @@ declare module "react" {
4
4
  "data-llm"?: string;
5
5
  }
6
6
  }
7
+ /** Shorthand for an arbitrary plain object — `Record<string, unknown>`. */
7
8
  export type UnknownObject = Record<string, unknown>;
9
+ /** Flatten an intersection so it appears as a single object type in hovers and error messages. */
8
10
  export type Prettify<T> = {
9
11
  [K in keyof T]: T[K];
10
12
  } & {};
13
+ /** Widen `T` to also satisfy {@link UnknownObject}, useful for tool input/output narrowing. */
11
14
  export type Objectify<T> = T & UnknownObject;
12
15
  type RequiredKeys<T> = {
13
16
  [K in keyof T]-?: Record<string, never> extends Pick<T, K> ? never : K;
14
17
  }[keyof T];
18
+ /** `true` if `T` has at least one required key, `false` if every key is optional. */
15
19
  export type HasRequiredKeys<T> = RequiredKeys<T> extends never ? false : true;
16
20
  export {};
@@ -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","sourcesContent":["import \"react\";\n\ndeclare module \"react\" {\n interface HTMLAttributes<T> {\n \"data-llm\"?: string;\n }\n}\n\n/** Shorthand for an arbitrary plain object — `Record<string, unknown>`. */\nexport type UnknownObject = Record<string, unknown>;\n\n/** Flatten an intersection so it appears as a single object type in hovers and error messages. */\nexport type Prettify<T> = { [K in keyof T]: T[K] } & {};\n/** Widen `T` to also satisfy {@link UnknownObject}, useful for tool input/output narrowing. */\nexport type Objectify<T> = T & UnknownObject;\n\ntype RequiredKeys<T> = {\n [K in keyof T]-?: Record<string, never> extends Pick<T, K> ? never : K;\n}[keyof T];\n/** `true` if `T` has at least one required key, `false` if every key is optional. */\nexport type HasRequiredKeys<T> = RequiredKeys<T> extends never ? false : true;\n"]}
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "skybridge",
3
- "version": "0.0.0-dev.f06114a",
3
+ "version": "0.0.0-dev.f06e6cc",
4
4
  "description": "Skybridge is a framework for building ChatGPT and MCP Apps",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/alpic-ai/skybridge.git"
8
8
  },
9
9
  "type": "module",
10
+ "sideEffects": false,
10
11
  "engines": {
11
- "node": ">=22.22.2"
12
+ "node": ">=22.23.1"
12
13
  },
13
14
  "files": [
14
15
  "dist",
@@ -26,9 +27,9 @@
26
27
  "types": "./dist/web/index.d.ts",
27
28
  "default": "./dist/web/index.js"
28
29
  },
29
- "./vite": {
30
- "types": "./dist/web/plugin/plugin.d.ts",
31
- "default": "./dist/web/plugin/plugin.js"
30
+ "./views": {
31
+ "types": "./dist/views/index.d.ts",
32
+ "default": "./dist/views/index.js"
32
33
  }
33
34
  },
34
35
  "keywords": [
@@ -40,50 +41,56 @@
40
41
  "author": "Frédéric Barthelet",
41
42
  "license": "ISC",
42
43
  "peerDependencies": {
43
- "@modelcontextprotocol/sdk": ">=1.27.0",
44
- "@skybridge/devtools": ">=0.35.14 <1.0.0",
44
+ "@skybridge/devtools": "^2.0.0",
45
45
  "nodemon": ">=3.0.0",
46
46
  "react": ">=18.0.0",
47
47
  "react-dom": ">=18.0.0",
48
- "vite": ">=7.3.1"
48
+ "vite": ">=7.3.1",
49
+ "zod": "^4.2.0"
49
50
  },
50
51
  "dependencies": {
51
- "@babel/core": "^7.29.0",
52
- "@modelcontextprotocol/ext-apps": "^1.7.1",
53
- "@oclif/core": "^4.11.2",
52
+ "@modelcontextprotocol/core": "^2.0.0",
53
+ "@modelcontextprotocol/ext-apps": "^1.7.4",
54
+ "@modelcontextprotocol/express": "^2.0.0",
55
+ "@modelcontextprotocol/node": "^2.0.0",
56
+ "@modelcontextprotocol/sdk": "^1.29.0",
57
+ "@modelcontextprotocol/server": "^2.0.0",
58
+ "@oclif/core": "^4.11.14",
54
59
  "ci-info": "^4.4.0",
55
60
  "cors": "^2.8.6",
56
61
  "cross-spawn": "^7.0.6",
57
62
  "dequal": "^2.0.3",
58
- "es-toolkit": "^1.46.1",
63
+ "esbuild": "^0.28.1",
59
64
  "express": "^5.2.1",
60
65
  "handlebars": "^4.7.9",
61
- "ink": "^7.0.2",
66
+ "ink": "^7.1.1",
67
+ "jose": "^6.2.3",
62
68
  "open": "^11.0.0",
63
- "posthog-node": "^5.33.4",
69
+ "posthog-node": "^5.45.2",
70
+ "std-env": "^4.2.0",
64
71
  "superjson": "^2.2.6",
65
- "zustand": "^5.0.13"
72
+ "yaml": "^2.9.0",
73
+ "zustand": "^5.0.14"
66
74
  },
67
75
  "devDependencies": {
68
- "@modelcontextprotocol/sdk": "^1.29.0",
76
+ "@modelcontextprotocol/client": "^2.0.0",
69
77
  "@testing-library/dom": "^10.4.1",
70
78
  "@testing-library/react": "^16.3.2",
71
79
  "@total-typescript/tsconfig": "^1.0.4",
72
- "@types/babel__core": "^7.20.5",
73
80
  "@types/cors": "^2.8.19",
74
81
  "@types/cross-spawn": "^6.0.6",
75
82
  "@types/express": "^5.0.6",
76
- "@types/jsdom": "^28.0.1",
77
- "@types/node": "^24.12.3",
78
- "@types/react": "^19.2.14",
83
+ "@types/jsdom": "^28.0.3",
84
+ "@types/node": "^24.13.3",
85
+ "@types/react": "^19.2.17",
79
86
  "@types/react-dom": "^19.2.3",
80
- "@vitest/ui": "^4.1.5",
87
+ "@vitest/ui": "^4.1.10",
81
88
  "jsdom": "^29.1.1",
82
89
  "shx": "^0.4.0",
83
90
  "ts-node": "^10.9.2",
84
91
  "typescript": "^6.0.3",
85
- "vite": "^8.0.0",
86
- "vitest": "^4.1.5",
92
+ "vite": "^8.1.5",
93
+ "vitest": "^4.1.10",
87
94
  "zod": "^4.4.3"
88
95
  },
89
96
  "bin": {
@@ -95,6 +102,10 @@
95
102
  "commands": "./dist/commands",
96
103
  "dirname": "skybridge",
97
104
  "topicSeparator": " ",
105
+ "helpClass": {
106
+ "target": "./dist/commands/create",
107
+ "identifier": "SkybridgeHelp"
108
+ },
98
109
  "hooks": {
99
110
  "finally": "./dist/cli/telemetry"
100
111
  }
@@ -1,24 +0,0 @@
1
- import type { Adaptor, CallToolResponse, FileMetadata, HostContext, HostContextStore, OpenExternalOptions, RequestDisplayMode, RequestModalOptions, SetViewStateAction, UploadFileOptions } from "../types.js";
2
- export declare class AppsSdkAdaptor implements Adaptor {
3
- private static instance;
4
- static getInstance(): AppsSdkAdaptor;
5
- static resetInstance(): void;
6
- getHostContextStore<K extends keyof HostContext>(key: K): HostContextStore<K>;
7
- callTool: <ToolArgs extends Record<string, unknown> | null = null, ToolResponse extends CallToolResponse = CallToolResponse>(name: string, args: ToolArgs) => Promise<ToolResponse>;
8
- requestDisplayMode: (mode: RequestDisplayMode) => Promise<{
9
- mode: RequestDisplayMode;
10
- }>;
11
- sendFollowUpMessage: (prompt: string) => Promise<void>;
12
- openExternal(href: string, options?: OpenExternalOptions): void;
13
- setViewState: (stateOrUpdater: SetViewStateAction) => Promise<void>;
14
- uploadFile: (file: File, options?: UploadFileOptions) => Promise<FileMetadata>;
15
- getFileDownloadUrl: (file: {
16
- fileId: string;
17
- }) => Promise<{
18
- downloadUrl: string;
19
- }>;
20
- selectFiles: () => Promise<FileMetadata[]>;
21
- private trackFileIds;
22
- openModal(options: RequestModalOptions): Promise<void>;
23
- setOpenInAppUrl(href: string): Promise<void>;
24
- }
@@ -1,93 +0,0 @@
1
- import { AppsSdkBridge } from "./bridge.js";
2
- export class AppsSdkAdaptor {
3
- static instance = null;
4
- static getInstance() {
5
- if (!AppsSdkAdaptor.instance) {
6
- AppsSdkAdaptor.instance = new AppsSdkAdaptor();
7
- }
8
- return AppsSdkAdaptor.instance;
9
- }
10
- static resetInstance() {
11
- AppsSdkAdaptor.instance = null;
12
- }
13
- getHostContextStore(key) {
14
- const bridge = AppsSdkBridge.getInstance();
15
- if (key === "viewState") {
16
- return {
17
- subscribe: bridge.subscribe("widgetState"),
18
- getSnapshot: () => bridge.getSnapshot("widgetState")?.modelContent ?? null,
19
- };
20
- }
21
- if (key === "display") {
22
- return {
23
- subscribe: bridge.subscribe("view"),
24
- getSnapshot: () => bridge.getSnapshot("view"),
25
- };
26
- }
27
- return {
28
- subscribe: bridge.subscribe(key),
29
- getSnapshot: () => bridge.getSnapshot(key),
30
- };
31
- }
32
- callTool = async (name, args) => {
33
- return window.openai.callTool(name, args);
34
- };
35
- requestDisplayMode = (mode) => {
36
- return window.openai.requestDisplayMode({ mode });
37
- };
38
- sendFollowUpMessage = (prompt) => {
39
- return window.openai.sendFollowUpMessage({ prompt });
40
- };
41
- openExternal(href, options = {}) {
42
- window.openai.openExternal({ href, ...options });
43
- }
44
- setViewState = (stateOrUpdater) => {
45
- const modelContent = typeof stateOrUpdater === "function"
46
- ? stateOrUpdater(window.openai.widgetState?.modelContent ?? null)
47
- : stateOrUpdater;
48
- return window.openai.setWidgetState({
49
- privateContent: {},
50
- ...window.openai.widgetState,
51
- modelContent,
52
- });
53
- };
54
- uploadFile = async (file, options) => {
55
- const metadata = await window.openai.uploadFile(file, options);
56
- await this.trackFileIds(metadata.fileId);
57
- return metadata;
58
- };
59
- getFileDownloadUrl = (file) => {
60
- return window.openai.getFileDownloadUrl(file);
61
- };
62
- selectFiles = async () => {
63
- if (!window.openai.selectFiles) {
64
- throw new Error("selectFiles is not supported by the current host version.");
65
- }
66
- const files = await window.openai.selectFiles();
67
- if (files.length > 0) {
68
- await this.trackFileIds(...files.map((f) => f.fileId));
69
- }
70
- return files;
71
- };
72
- async trackFileIds(...fileIds) {
73
- const state = window.openai.widgetState
74
- ? { ...window.openai.widgetState }
75
- : { modelContent: {}, privateContent: {} };
76
- if (!state.imageIds) {
77
- state.imageIds = [];
78
- }
79
- state.imageIds.push(...fileIds);
80
- await window.openai.setWidgetState(state);
81
- }
82
- openModal(options) {
83
- return window.openai.requestModal(options);
84
- }
85
- setOpenInAppUrl(href) {
86
- href = href.trim();
87
- if (!href) {
88
- throw new Error("The href parameter is required.");
89
- }
90
- return window.openai.setOpenInAppUrl({ href });
91
- }
92
- }
93
- //# sourceMappingURL=adaptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adaptor.js","sourceRoot":"","sources":["../../../../src/web/bridges/apps-sdk/adaptor.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import type { Adaptor, CallToolResponse, HostContext, HostContextStore, OpenExternalOptions, RequestDisplayMode, RequestModalOptions, SetViewStateAction } from "../types.js";
2
- export declare class McpAppAdaptor implements Adaptor {
3
- private static instance;
4
- private stores;
5
- private _viewState;
6
- private viewStateListeners;
7
- private _viewUUID;
8
- private _displayState;
9
- private displayListeners;
10
- private constructor();
11
- static getInstance(): McpAppAdaptor;
12
- static resetInstance(): void;
13
- getHostContextStore<K extends keyof HostContext>(key: K): HostContextStore<K>;
14
- callTool: <ToolArgs extends Record<string, unknown> | null = null, ToolResponse extends CallToolResponse = CallToolResponse>(name: string, args: ToolArgs) => Promise<ToolResponse>;
15
- requestDisplayMode: (mode: RequestDisplayMode) => Promise<{
16
- [x: string]: unknown;
17
- mode: "inline" | "fullscreen" | "pip";
18
- }>;
19
- sendFollowUpMessage: (prompt: string) => Promise<void>;
20
- openExternal(href: string, options?: OpenExternalOptions): void;
21
- private initializeStores;
22
- setViewState: (stateOrUpdater: SetViewStateAction) => Promise<void>;
23
- /**
24
- * @throws File upload is not supported in MCP App.
25
- */
26
- uploadFile(): Promise<{
27
- fileId: string;
28
- }>;
29
- /**
30
- * @throws File download is not supported in MCP App.
31
- */
32
- getFileDownloadUrl(): Promise<{
33
- downloadUrl: string;
34
- }>;
35
- /**
36
- * @throws File selection is not supported in MCP App.
37
- */
38
- selectFiles(): Promise<{
39
- fileId: string;
40
- }[]>;
41
- openModal(options: RequestModalOptions): void;
42
- closeModal(): void;
43
- setOpenInAppUrl(_href: string): Promise<void>;
44
- private subscribeToViewUUID;
45
- private restoreFromLocalStorage;
46
- private persistToLocalStorage;
47
- private createHostContextStore;
48
- }