@apollo/client-ai-apps 0.4.0 → 0.5.1

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 (404) hide show
  1. package/.github/CODEOWNERS +1 -0
  2. package/.github/workflows/pr.yaml +23 -1
  3. package/.github/workflows/release.yaml +1 -5
  4. package/.github/workflows/verify-changeset.yml +112 -21
  5. package/CHANGELOG.md +361 -0
  6. package/__mocks__/fs/promises.cjs +3 -0
  7. package/__mocks__/fs.cjs +3 -0
  8. package/dist/config/defineConfig.d.ts +28 -0
  9. package/dist/config/defineConfig.d.ts.map +1 -0
  10. package/dist/config/defineConfig.js +7 -0
  11. package/dist/config/defineConfig.js.map +1 -0
  12. package/dist/config/index.d.ts +3 -0
  13. package/dist/config/index.d.ts.map +1 -0
  14. package/dist/config/index.js +2 -0
  15. package/dist/config/index.js.map +1 -0
  16. package/dist/config/schema.d.ts +29 -0
  17. package/dist/config/schema.d.ts.map +1 -0
  18. package/dist/config/schema.js +51 -0
  19. package/dist/config/schema.js.map +1 -0
  20. package/dist/config/types.d.ts +7 -0
  21. package/dist/config/types.d.ts.map +1 -0
  22. package/dist/config/types.js +2 -0
  23. package/dist/config/types.js.map +1 -0
  24. package/dist/core/ApolloClient.d.ts +4 -3
  25. package/dist/core/ApolloClient.d.ts.map +1 -1
  26. package/dist/core/ApolloClient.js +6 -59
  27. package/dist/core/ApolloClient.js.map +1 -1
  28. package/dist/core/Platform.d.ts +8 -0
  29. package/dist/core/Platform.d.ts.map +1 -0
  30. package/dist/core/Platform.js +20 -0
  31. package/dist/core/Platform.js.map +1 -0
  32. package/dist/core/types.d.ts +13 -0
  33. package/dist/core/types.d.ts.map +1 -0
  34. package/dist/core/types.js +2 -0
  35. package/dist/core/types.js.map +1 -0
  36. package/dist/index.d.ts +1 -14
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +1 -13
  39. package/dist/index.js.map +1 -1
  40. package/dist/index.mcp.d.ts +5 -0
  41. package/dist/index.mcp.d.ts.map +1 -0
  42. package/dist/index.mcp.js +5 -0
  43. package/dist/index.mcp.js.map +1 -0
  44. package/dist/index.openai.d.ts +5 -0
  45. package/dist/index.openai.d.ts.map +1 -0
  46. package/dist/index.openai.js +5 -0
  47. package/dist/index.openai.js.map +1 -0
  48. package/dist/link/ToolCallLink.d.ts +3 -3
  49. package/dist/link/ToolCallLink.d.ts.map +1 -1
  50. package/dist/link/ToolCallLink.js +5 -14
  51. package/dist/link/ToolCallLink.js.map +1 -1
  52. package/dist/mcp/core/ApolloClient.d.ts +21 -0
  53. package/dist/mcp/core/ApolloClient.d.ts.map +1 -0
  54. package/dist/mcp/core/ApolloClient.js +65 -0
  55. package/dist/mcp/core/ApolloClient.js.map +1 -0
  56. package/dist/mcp/core/McpAppManager.d.ts +34 -0
  57. package/dist/mcp/core/McpAppManager.d.ts.map +1 -0
  58. package/dist/mcp/core/McpAppManager.js +63 -0
  59. package/dist/mcp/core/McpAppManager.js.map +1 -0
  60. package/dist/mcp/core/Platform.d.ts +8 -0
  61. package/dist/mcp/core/Platform.d.ts.map +1 -0
  62. package/dist/mcp/core/Platform.js +8 -0
  63. package/dist/mcp/core/Platform.js.map +1 -0
  64. package/dist/mcp/index.d.ts +3 -0
  65. package/dist/mcp/index.d.ts.map +1 -0
  66. package/dist/mcp/index.js +3 -0
  67. package/dist/mcp/index.js.map +1 -0
  68. package/dist/mcp/link/ToolCallLink.d.ts +28 -0
  69. package/dist/mcp/link/ToolCallLink.d.ts.map +1 -0
  70. package/dist/mcp/link/ToolCallLink.js +35 -0
  71. package/dist/mcp/link/ToolCallLink.js.map +1 -0
  72. package/dist/mcp/react/hooks/useApolloClient.d.ts +3 -0
  73. package/dist/mcp/react/hooks/useApolloClient.d.ts.map +1 -0
  74. package/dist/mcp/react/hooks/useApolloClient.js +9 -0
  75. package/dist/mcp/react/hooks/useApolloClient.js.map +1 -0
  76. package/dist/mcp/react/hooks/useApp.d.ts +2 -0
  77. package/dist/mcp/react/hooks/useApp.d.ts.map +1 -0
  78. package/dist/mcp/react/hooks/useApp.js +5 -0
  79. package/dist/mcp/react/hooks/useApp.js.map +1 -0
  80. package/dist/mcp/react/hooks/useToolInput.d.ts +2 -0
  81. package/dist/mcp/react/hooks/useToolInput.d.ts.map +1 -0
  82. package/dist/mcp/react/hooks/useToolInput.js +5 -0
  83. package/dist/mcp/react/hooks/useToolInput.js.map +1 -0
  84. package/dist/mcp/react/hooks/useToolMetadata.d.ts +8 -0
  85. package/dist/mcp/react/hooks/useToolMetadata.d.ts.map +1 -0
  86. package/dist/mcp/react/hooks/useToolMetadata.js +5 -0
  87. package/dist/mcp/react/hooks/useToolMetadata.js.map +1 -0
  88. package/dist/mcp/react/hooks/useToolName.d.ts +2 -0
  89. package/dist/mcp/react/hooks/useToolName.d.ts.map +1 -0
  90. package/dist/mcp/react/hooks/useToolName.js +5 -0
  91. package/dist/mcp/react/hooks/useToolName.js.map +1 -0
  92. package/dist/mcp/react/index.d.ts +5 -0
  93. package/dist/mcp/react/index.d.ts.map +1 -0
  94. package/dist/mcp/react/index.js +5 -0
  95. package/dist/mcp/react/index.js.map +1 -0
  96. package/dist/openai/core/ApolloClient.d.ts +21 -0
  97. package/dist/openai/core/ApolloClient.d.ts.map +1 -0
  98. package/dist/openai/core/ApolloClient.js +66 -0
  99. package/dist/openai/core/ApolloClient.js.map +1 -0
  100. package/dist/openai/core/McpAppManager.d.ts +28 -0
  101. package/dist/openai/core/McpAppManager.d.ts.map +1 -0
  102. package/dist/openai/core/McpAppManager.js +73 -0
  103. package/dist/openai/core/McpAppManager.js.map +1 -0
  104. package/dist/openai/core/Platform.d.ts +8 -0
  105. package/dist/openai/core/Platform.d.ts.map +1 -0
  106. package/dist/openai/core/Platform.js +8 -0
  107. package/dist/openai/core/Platform.js.map +1 -0
  108. package/dist/openai/globals.d.ts +12 -0
  109. package/dist/openai/globals.d.ts.map +1 -0
  110. package/dist/openai/globals.js +2 -0
  111. package/dist/openai/globals.js.map +1 -0
  112. package/dist/openai/index.d.ts +3 -0
  113. package/dist/openai/index.d.ts.map +1 -0
  114. package/dist/openai/index.js +3 -0
  115. package/dist/openai/index.js.map +1 -0
  116. package/dist/openai/link/ToolCallLink.d.ts +28 -0
  117. package/dist/openai/link/ToolCallLink.d.ts.map +1 -0
  118. package/dist/openai/link/ToolCallLink.js +35 -0
  119. package/dist/openai/link/ToolCallLink.js.map +1 -0
  120. package/dist/openai/react/hooks/useApolloClient.d.ts +3 -0
  121. package/dist/openai/react/hooks/useApolloClient.d.ts.map +1 -0
  122. package/dist/openai/react/hooks/useApolloClient.js +9 -0
  123. package/dist/openai/react/hooks/useApolloClient.js.map +1 -0
  124. package/dist/openai/react/hooks/useApp.d.ts +2 -0
  125. package/dist/openai/react/hooks/useApp.d.ts.map +1 -0
  126. package/dist/openai/react/hooks/useApp.js +5 -0
  127. package/dist/openai/react/hooks/useApp.js.map +1 -0
  128. package/dist/openai/react/hooks/useOpenAiGlobal.d.ts +3 -0
  129. package/dist/openai/react/hooks/useOpenAiGlobal.d.ts.map +1 -0
  130. package/dist/{react → openai/react}/hooks/useOpenAiGlobal.js +1 -1
  131. package/dist/openai/react/hooks/useOpenAiGlobal.js.map +1 -0
  132. package/dist/openai/react/hooks/useToolInput.d.ts +2 -0
  133. package/dist/openai/react/hooks/useToolInput.d.ts.map +1 -0
  134. package/dist/openai/react/hooks/useToolInput.js +5 -0
  135. package/dist/openai/react/hooks/useToolInput.js.map +1 -0
  136. package/dist/openai/react/hooks/useToolMetadata.d.ts +2 -0
  137. package/dist/openai/react/hooks/useToolMetadata.d.ts.map +1 -0
  138. package/dist/openai/react/hooks/useToolMetadata.js +5 -0
  139. package/dist/openai/react/hooks/useToolMetadata.js.map +1 -0
  140. package/dist/openai/react/hooks/useToolName.d.ts.map +1 -0
  141. package/dist/openai/react/hooks/useToolName.js +5 -0
  142. package/dist/openai/react/hooks/useToolName.js.map +1 -0
  143. package/dist/{react → openai/react}/hooks/useWidgetState.d.ts +1 -1
  144. package/dist/openai/react/hooks/useWidgetState.d.ts.map +1 -0
  145. package/dist/openai/react/hooks/useWidgetState.js.map +1 -0
  146. package/dist/openai/react/index.d.ts +6 -0
  147. package/dist/openai/react/index.d.ts.map +1 -0
  148. package/dist/openai/react/index.js +6 -0
  149. package/dist/openai/react/index.js.map +1 -0
  150. package/dist/{types/openai.d.ts → openai/types.d.ts} +7 -11
  151. package/dist/openai/types.d.ts.map +1 -0
  152. package/dist/{types/openai.js → openai/types.js} +1 -1
  153. package/dist/openai/types.js.map +1 -0
  154. package/dist/react/ApolloProvider.d.ts +6 -2
  155. package/dist/react/ApolloProvider.d.ts.map +1 -1
  156. package/dist/react/ApolloProvider.js +12 -27
  157. package/dist/react/ApolloProvider.js.map +1 -1
  158. package/dist/react/index.d.ts +6 -0
  159. package/dist/react/index.d.ts.map +1 -0
  160. package/dist/react/index.js +9 -0
  161. package/dist/react/index.js.map +1 -0
  162. package/dist/react/index.mcp.d.ts +3 -0
  163. package/dist/react/index.mcp.d.ts.map +1 -0
  164. package/dist/react/index.mcp.js +3 -0
  165. package/dist/react/index.mcp.js.map +1 -0
  166. package/dist/react/index.openai.d.ts +3 -0
  167. package/dist/react/index.openai.d.ts.map +1 -0
  168. package/dist/react/index.openai.js +3 -0
  169. package/dist/react/index.openai.js.map +1 -0
  170. package/dist/react/missingHook.d.ts +2 -0
  171. package/dist/react/missingHook.d.ts.map +1 -0
  172. package/dist/react/missingHook.js +6 -0
  173. package/dist/react/missingHook.js.map +1 -0
  174. package/dist/tsconfig/core/tsconfig.json +5 -0
  175. package/dist/tsconfig/mcp/tsconfig.json +6 -0
  176. package/dist/tsconfig/openai/tsconfig.json +7 -0
  177. package/dist/types/application-manifest.d.ts +5 -1
  178. package/dist/types/application-manifest.d.ts.map +1 -1
  179. package/dist/types/application-manifest.js.map +1 -1
  180. package/dist/utilities/cacheAsync.d.ts +4 -0
  181. package/dist/utilities/cacheAsync.d.ts.map +1 -0
  182. package/dist/utilities/cacheAsync.js +19 -0
  183. package/dist/utilities/cacheAsync.js.map +1 -0
  184. package/dist/utilities/constants.d.ts +6 -0
  185. package/dist/utilities/constants.d.ts.map +1 -0
  186. package/dist/utilities/constants.js +6 -0
  187. package/dist/utilities/constants.js.map +1 -0
  188. package/dist/utilities/emptyModule.d.ts +2 -0
  189. package/dist/utilities/emptyModule.d.ts.map +1 -0
  190. package/dist/utilities/emptyModule.js +2 -0
  191. package/dist/utilities/emptyModule.js.map +1 -0
  192. package/dist/utilities/getVariablesForOperationFromToolInput.d.ts +5 -0
  193. package/dist/utilities/getVariablesForOperationFromToolInput.d.ts.map +1 -0
  194. package/dist/utilities/getVariablesForOperationFromToolInput.js +18 -0
  195. package/dist/utilities/getVariablesForOperationFromToolInput.js.map +1 -0
  196. package/dist/utilities/index.d.ts +6 -0
  197. package/dist/utilities/index.d.ts.map +1 -0
  198. package/dist/utilities/index.js +6 -0
  199. package/dist/utilities/index.js.map +1 -0
  200. package/dist/utilities/invariant.d.ts +2 -0
  201. package/dist/utilities/invariant.d.ts.map +1 -0
  202. package/dist/utilities/invariant.js +6 -0
  203. package/dist/utilities/invariant.js.map +1 -0
  204. package/dist/utilities/promiseWithResolvers.d.ts +7 -0
  205. package/dist/utilities/promiseWithResolvers.d.ts.map +1 -0
  206. package/dist/utilities/promiseWithResolvers.js +16 -0
  207. package/dist/utilities/promiseWithResolvers.js.map +1 -0
  208. package/dist/vite/__tests__/utilities/build.d.ts +41 -0
  209. package/dist/vite/__tests__/utilities/build.d.ts.map +1 -0
  210. package/dist/vite/__tests__/utilities/build.js +63 -0
  211. package/dist/vite/__tests__/utilities/build.js.map +1 -0
  212. package/dist/vite/apolloClientAiApps.d.ts +14 -0
  213. package/dist/vite/apolloClientAiApps.d.ts.map +1 -0
  214. package/dist/vite/apolloClientAiApps.js +350 -0
  215. package/dist/vite/apolloClientAiApps.js.map +1 -0
  216. package/dist/vite/index.d.ts +1 -2
  217. package/dist/vite/index.d.ts.map +1 -1
  218. package/dist/vite/index.js +1 -2
  219. package/dist/vite/index.js.map +1 -1
  220. package/dist/vite/utilities/config.d.ts +2 -0
  221. package/dist/vite/utilities/config.d.ts.map +1 -0
  222. package/dist/vite/utilities/config.js +11 -0
  223. package/dist/vite/utilities/config.js.map +1 -0
  224. package/dist/vite/utilities/graphql.d.ts +20 -0
  225. package/dist/vite/utilities/graphql.d.ts.map +1 -0
  226. package/dist/vite/utilities/graphql.js +42 -0
  227. package/dist/vite/utilities/graphql.js.map +1 -0
  228. package/knope.toml +1 -1
  229. package/package.json +105 -9
  230. package/src/config/defineConfig.ts +8 -0
  231. package/src/config/index.ts +2 -0
  232. package/src/config/schema.ts +73 -0
  233. package/src/config/types.ts +7 -0
  234. package/src/core/ApolloClient.ts +7 -95
  235. package/src/core/Platform.ts +27 -0
  236. package/src/core/types.ts +14 -0
  237. package/src/index.mcp.ts +5 -0
  238. package/src/index.openai.ts +5 -0
  239. package/src/index.ts +2 -27
  240. package/src/link/ToolCallLink.ts +6 -22
  241. package/src/mcp/core/ApolloClient.ts +102 -0
  242. package/src/mcp/core/McpAppManager.ts +98 -0
  243. package/src/mcp/core/Platform.ts +11 -0
  244. package/src/mcp/core/__tests__/ApolloClient.test.ts +464 -0
  245. package/src/mcp/index.ts +2 -0
  246. package/src/mcp/link/ToolCallLink.ts +40 -0
  247. package/src/mcp/link/__tests__/ToolCallLink.test.ts +53 -0
  248. package/src/mcp/react/hooks/__tests__/useApp.test.tsx +46 -0
  249. package/src/mcp/react/hooks/__tests__/useToolInput.test.tsx +50 -0
  250. package/src/mcp/react/hooks/__tests__/useToolMetadata.test.tsx +53 -0
  251. package/src/mcp/react/hooks/__tests__/useToolName.test.tsx +50 -0
  252. package/src/mcp/react/hooks/useApolloClient.ts +14 -0
  253. package/src/mcp/react/hooks/useApp.ts +5 -0
  254. package/src/mcp/react/hooks/useToolInput.ts +5 -0
  255. package/src/mcp/react/hooks/useToolMetadata.ts +5 -0
  256. package/src/mcp/react/hooks/useToolName.ts +5 -0
  257. package/src/mcp/react/index.ts +4 -0
  258. package/src/openai/core/ApolloClient.ts +100 -0
  259. package/src/openai/core/McpAppManager.ts +110 -0
  260. package/src/openai/core/Platform.ts +11 -0
  261. package/src/openai/core/__tests__/ApolloClient.test.ts +537 -0
  262. package/src/openai/globals.ts +14 -0
  263. package/src/openai/index.ts +2 -0
  264. package/src/openai/link/ToolCallLink.ts +40 -0
  265. package/src/{react → openai/react}/hooks/__tests__/useOpenAiGlobal.test.ts +1 -1
  266. package/src/openai/react/hooks/__tests__/useToolInput.test.tsx +85 -0
  267. package/src/openai/react/hooks/__tests__/useToolMetadata.test.tsx +86 -0
  268. package/src/openai/react/hooks/__tests__/useToolName.test.tsx +50 -0
  269. package/src/{react → openai/react}/hooks/__tests__/useWidgetState.test.tsx +1 -1
  270. package/src/openai/react/hooks/useApolloClient.ts +14 -0
  271. package/src/openai/react/hooks/useApp.ts +5 -0
  272. package/src/{react → openai/react}/hooks/useOpenAiGlobal.ts +2 -2
  273. package/src/openai/react/hooks/useToolInput.ts +5 -0
  274. package/src/openai/react/hooks/useToolMetadata.ts +5 -0
  275. package/src/openai/react/hooks/useToolName.ts +5 -0
  276. package/src/{react → openai/react}/hooks/useWidgetState.ts +1 -1
  277. package/src/openai/react/index.ts +5 -0
  278. package/src/{types/openai.ts → openai/types.ts} +9 -13
  279. package/src/react/ApolloProvider.tsx +23 -31
  280. package/src/react/__tests__/ApolloProvider/mcp.test.tsx +74 -0
  281. package/src/react/__tests__/ApolloProvider/openai.test.tsx +146 -0
  282. package/src/react/index.mcp.ts +7 -0
  283. package/src/react/index.openai.ts +7 -0
  284. package/src/react/index.ts +19 -0
  285. package/src/react/missingHook.ts +9 -0
  286. package/src/testing/internal/index.ts +8 -0
  287. package/src/testing/internal/matchers/index.ts +2 -0
  288. package/src/testing/internal/matchers/toComplete.ts +46 -0
  289. package/src/testing/internal/matchers/toEmitValue.ts +71 -0
  290. package/src/testing/internal/matchers/types.ts +3 -0
  291. package/src/testing/internal/mcp/graphqlToolResult.ts +31 -0
  292. package/src/testing/internal/mcp/minimalHostContextWithToolName.ts +9 -0
  293. package/src/testing/internal/mcp/mockMcpHost.ts +188 -0
  294. package/src/testing/internal/openai/dispatchStateChange.ts +1 -1
  295. package/src/testing/internal/openai/stubOpenAiGlobals.ts +22 -9
  296. package/src/testing/internal/react/renderAsync.ts +7 -0
  297. package/src/testing/internal/utilities/ObservableStream.ts +172 -0
  298. package/src/testing/internal/utilities/getSerializableProperties.ts +55 -0
  299. package/src/testing/internal/utilities/mockApplicationManifest.ts +39 -0
  300. package/src/testing/internal/utilities/spyOnConsole.ts +29 -0
  301. package/src/testing/internal/utilities/wait.ts +3 -0
  302. package/src/tsconfig/core/tsconfig.json +5 -0
  303. package/src/tsconfig/mcp/tsconfig.json +6 -0
  304. package/src/tsconfig/openai/tsconfig.json +7 -0
  305. package/src/types/application-manifest.ts +7 -1
  306. package/src/utilities/__tests__/cacheAsync.test.ts +64 -0
  307. package/src/utilities/cacheAsync.ts +25 -0
  308. package/src/utilities/constants.ts +5 -0
  309. package/src/utilities/emptyModule.ts +1 -0
  310. package/src/utilities/getVariablesForOperationFromToolInput.ts +27 -0
  311. package/src/utilities/index.ts +5 -0
  312. package/src/utilities/invariant.ts +5 -0
  313. package/src/utilities/promiseWithResolvers.ts +18 -0
  314. package/src/vite/__tests__/apolloClientAiApps.test.ts +1521 -0
  315. package/src/vite/__tests__/utilities/build.ts +72 -0
  316. package/src/vite/apolloClientAiApps.ts +515 -0
  317. package/src/vite/index.ts +1 -2
  318. package/src/vite/utilities/config.ts +13 -0
  319. package/src/vite/utilities/graphql.ts +123 -0
  320. package/tsconfig.base.json +2 -2
  321. package/tsconfig.vite.build.json +4 -1
  322. package/tsconfig.vite.json +8 -2
  323. package/vitest-setup.ts +28 -0
  324. package/dist/react/context/ToolUseContext.d.ts +0 -16
  325. package/dist/react/context/ToolUseContext.d.ts.map +0 -1
  326. package/dist/react/context/ToolUseContext.js +0 -11
  327. package/dist/react/context/ToolUseContext.js.map +0 -1
  328. package/dist/react/hooks/useCallTool.d.ts +0 -4
  329. package/dist/react/hooks/useCallTool.d.ts.map +0 -1
  330. package/dist/react/hooks/useCallTool.js +0 -5
  331. package/dist/react/hooks/useCallTool.js.map +0 -1
  332. package/dist/react/hooks/useOpenAiGlobal.d.ts +0 -3
  333. package/dist/react/hooks/useOpenAiGlobal.d.ts.map +0 -1
  334. package/dist/react/hooks/useOpenAiGlobal.js.map +0 -1
  335. package/dist/react/hooks/useOpenExternal.d.ts +0 -4
  336. package/dist/react/hooks/useOpenExternal.d.ts.map +0 -1
  337. package/dist/react/hooks/useOpenExternal.js +0 -5
  338. package/dist/react/hooks/useOpenExternal.js.map +0 -1
  339. package/dist/react/hooks/useRequestDisplayMode.d.ts +0 -7
  340. package/dist/react/hooks/useRequestDisplayMode.d.ts.map +0 -1
  341. package/dist/react/hooks/useRequestDisplayMode.js +0 -6
  342. package/dist/react/hooks/useRequestDisplayMode.js.map +0 -1
  343. package/dist/react/hooks/useSendFollowUpMessage.d.ts +0 -2
  344. package/dist/react/hooks/useSendFollowUpMessage.d.ts.map +0 -1
  345. package/dist/react/hooks/useSendFollowUpMessage.js +0 -8
  346. package/dist/react/hooks/useSendFollowUpMessage.js.map +0 -1
  347. package/dist/react/hooks/useToolEffect.d.ts +0 -3
  348. package/dist/react/hooks/useToolEffect.d.ts.map +0 -1
  349. package/dist/react/hooks/useToolEffect.js +0 -28
  350. package/dist/react/hooks/useToolEffect.js.map +0 -1
  351. package/dist/react/hooks/useToolInput.d.ts +0 -2
  352. package/dist/react/hooks/useToolInput.d.ts.map +0 -1
  353. package/dist/react/hooks/useToolInput.js +0 -6
  354. package/dist/react/hooks/useToolInput.js.map +0 -1
  355. package/dist/react/hooks/useToolName.d.ts.map +0 -1
  356. package/dist/react/hooks/useToolName.js +0 -6
  357. package/dist/react/hooks/useToolName.js.map +0 -1
  358. package/dist/react/hooks/useToolOutput.d.ts +0 -2
  359. package/dist/react/hooks/useToolOutput.d.ts.map +0 -1
  360. package/dist/react/hooks/useToolOutput.js +0 -5
  361. package/dist/react/hooks/useToolOutput.js.map +0 -1
  362. package/dist/react/hooks/useToolResponseMetadata.d.ts +0 -2
  363. package/dist/react/hooks/useToolResponseMetadata.d.ts.map +0 -1
  364. package/dist/react/hooks/useToolResponseMetadata.js +0 -5
  365. package/dist/react/hooks/useToolResponseMetadata.js.map +0 -1
  366. package/dist/react/hooks/useWidgetState.d.ts.map +0 -1
  367. package/dist/react/hooks/useWidgetState.js.map +0 -1
  368. package/dist/types/openai.d.ts.map +0 -1
  369. package/dist/types/openai.js.map +0 -1
  370. package/dist/vite/absolute_asset_imports_plugin.d.ts +0 -5
  371. package/dist/vite/absolute_asset_imports_plugin.d.ts.map +0 -1
  372. package/dist/vite/absolute_asset_imports_plugin.js +0 -17
  373. package/dist/vite/absolute_asset_imports_plugin.js.map +0 -1
  374. package/dist/vite/application_manifest_plugin.d.ts +0 -10
  375. package/dist/vite/application_manifest_plugin.d.ts.map +0 -1
  376. package/dist/vite/application_manifest_plugin.js +0 -317
  377. package/dist/vite/application_manifest_plugin.js.map +0 -1
  378. package/src/core/__tests__/ApolloClient.test.ts +0 -646
  379. package/src/react/__tests__/ApolloProvider.test.tsx +0 -41
  380. package/src/react/context/ToolUseContext.tsx +0 -31
  381. package/src/react/hooks/__tests__/useCallTool.test.ts +0 -46
  382. package/src/react/hooks/__tests__/useOpenExternal.test.tsx +0 -24
  383. package/src/react/hooks/__tests__/useRequestDisplayMode.test.ts +0 -17
  384. package/src/react/hooks/__tests__/useSendFollowUpMessage.test.ts +0 -15
  385. package/src/react/hooks/__tests__/useToolEffect.test.tsx +0 -67
  386. package/src/react/hooks/__tests__/useToolInput.test.ts +0 -13
  387. package/src/react/hooks/__tests__/useToolName.test.ts +0 -13
  388. package/src/react/hooks/__tests__/useToolOutput.test.tsx +0 -49
  389. package/src/react/hooks/__tests__/useToolResponseMetadata.test.tsx +0 -49
  390. package/src/react/hooks/useCallTool.ts +0 -13
  391. package/src/react/hooks/useOpenExternal.ts +0 -11
  392. package/src/react/hooks/useRequestDisplayMode.ts +0 -7
  393. package/src/react/hooks/useSendFollowUpMessage.ts +0 -7
  394. package/src/react/hooks/useToolEffect.tsx +0 -37
  395. package/src/react/hooks/useToolInput.ts +0 -7
  396. package/src/react/hooks/useToolName.ts +0 -7
  397. package/src/react/hooks/useToolOutput.ts +0 -5
  398. package/src/react/hooks/useToolResponseMetadata.ts +0 -5
  399. package/src/vite/__tests__/absolute_asset_imports_plugin.test.ts +0 -102
  400. package/src/vite/__tests__/application_manifest_plugin.test.ts +0 -1199
  401. package/src/vite/absolute_asset_imports_plugin.ts +0 -22
  402. package/src/vite/application_manifest_plugin.ts +0 -539
  403. /package/dist/{react → openai/react}/hooks/useToolName.d.ts +0 -0
  404. /package/dist/{react → openai/react}/hooks/useWidgetState.js +0 -0
@@ -0,0 +1,123 @@
1
+ import type { ArgumentNode, DirectiveNode, TypeNode, ValueNode } from "graphql";
2
+ import { Kind } from "graphql";
3
+ import { invariant } from "../../utilities/invariant.js";
4
+
5
+ export function getTypeName(type: TypeNode): string {
6
+ let t = type;
7
+ while (t.kind === Kind.NON_NULL_TYPE || t.kind === Kind.LIST_TYPE) {
8
+ t = t.type;
9
+ }
10
+ return t.name.value;
11
+ }
12
+
13
+ export function getArgumentValue(
14
+ argument: ArgumentNode,
15
+ expectedType: Kind.STRING
16
+ ): string;
17
+
18
+ export function getArgumentValue(
19
+ argument: ArgumentNode,
20
+ expectedType: Kind.BOOLEAN
21
+ ): boolean;
22
+
23
+ export function getArgumentValue<T = unknown>(
24
+ argument: ArgumentNode,
25
+ expectedType: Kind.LIST
26
+ ): T[];
27
+
28
+ export function getArgumentValue<
29
+ T extends Record<string, unknown> = Record<string, unknown>,
30
+ >(argument: ArgumentNode, expectedType: Kind.OBJECT): T;
31
+
32
+ export function getArgumentValue(argument: ArgumentNode, expectedType: Kind) {
33
+ const argumentType = argument.value.kind;
34
+
35
+ invariant(
36
+ argumentType === expectedType,
37
+ `Expected argument '${argument.name.value}' to be of type '${expectedType}' but found '${argumentType}' instead.`
38
+ );
39
+
40
+ return getRawValue(argument.value);
41
+ }
42
+
43
+ interface GetArgumentNodeOptions {
44
+ required?: boolean;
45
+ }
46
+
47
+ export function getDirectiveArgument(
48
+ argumentName: string,
49
+ directive: DirectiveNode,
50
+ opts: GetArgumentNodeOptions & { required: true }
51
+ ): ArgumentNode;
52
+
53
+ export function getDirectiveArgument(
54
+ argumentName: string,
55
+ directive: DirectiveNode,
56
+ opts?: GetArgumentNodeOptions
57
+ ): ArgumentNode | undefined;
58
+
59
+ export function getDirectiveArgument(
60
+ argumentName: string,
61
+ directive: DirectiveNode,
62
+ { required = false }: { required?: boolean } = {}
63
+ ) {
64
+ const argument = directive.arguments?.find(
65
+ (directiveArgument) => directiveArgument.name.value === argumentName
66
+ );
67
+
68
+ invariant(
69
+ argument || !required,
70
+ `'${argumentName}' argument must be supplied for @tool`
71
+ );
72
+
73
+ return argument;
74
+ }
75
+
76
+ export function maybeGetArgumentValue(
77
+ argument: ArgumentNode | undefined,
78
+ expectedType: Kind.STRING
79
+ ): string | undefined;
80
+
81
+ export function maybeGetArgumentValue(
82
+ argument: ArgumentNode | undefined,
83
+ expectedType: Kind.BOOLEAN
84
+ ): boolean | undefined;
85
+
86
+ export function maybeGetArgumentValue<T = unknown>(
87
+ argument: ArgumentNode | undefined,
88
+ expectedType: Kind.LIST
89
+ ): T[] | undefined;
90
+
91
+ export function maybeGetArgumentValue<
92
+ T extends Record<string, unknown> = Record<string, unknown>,
93
+ >(argument: ArgumentNode | undefined, expectedType: Kind.OBJECT): T | undefined;
94
+
95
+ export function maybeGetArgumentValue(
96
+ argument: ArgumentNode | undefined,
97
+ expectedType: Kind
98
+ ) {
99
+ if (!argument) {
100
+ return;
101
+ }
102
+
103
+ return getArgumentValue(argument, expectedType as any) as any;
104
+ }
105
+
106
+ function getRawValue(node: ValueNode): unknown {
107
+ switch (node.kind) {
108
+ case Kind.STRING:
109
+ case Kind.BOOLEAN:
110
+ return node.value;
111
+ case Kind.LIST:
112
+ return node.values.map(getRawValue);
113
+ case Kind.OBJECT:
114
+ return node.fields.reduce<Record<string, any>>((acc, field) => {
115
+ acc[field.name.value] = getRawValue(field.value);
116
+ return acc;
117
+ }, {});
118
+ default:
119
+ throw new Error(
120
+ `Error when parsing directive values: unexpected type '${node.kind}'`
121
+ );
122
+ }
123
+ }
@@ -2,8 +2,8 @@
2
2
  "$schema": "https://json.schemastore.org/tsconfig",
3
3
  "compilerOptions": {
4
4
  "noImplicitAny": true,
5
- "module": "nodenext",
6
- "moduleResolution": "nodenext",
5
+ "module": "esnext",
6
+ "moduleResolution": "bundler",
7
7
  "target": "esnext",
8
8
  "lib": ["esnext"],
9
9
  "exactOptionalPropertyTypes": true,
@@ -2,5 +2,8 @@
2
2
  "$schema": "https://json.schemastore.org/tsconfig",
3
3
  "extends": "./tsconfig.base.build.json",
4
4
  "include": ["./src/vite/"],
5
- "exclude": ["**/*.test.ts", "**/*.test.tsx"]
5
+ "exclude": ["**/*.test.ts", "**/*.test.tsx"],
6
+ "compilerOptions": {
7
+ "noUnusedLocals": false
8
+ }
6
9
  }
@@ -1,7 +1,12 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/tsconfig",
3
3
  "extends": "./tsconfig.base.json",
4
- "include": ["./src/vite", "./src/types/application-manifest.ts"],
4
+ "include": [
5
+ "./src/vite",
6
+ "./src/config",
7
+ "./src/utilities/",
8
+ "./src/types/application-manifest.ts"
9
+ ],
5
10
  "exclude": [
6
11
  "./src/**/*.test.ts",
7
12
  "./src/**/*.test.tsx",
@@ -11,6 +16,7 @@
11
16
  "rootDir": "src",
12
17
  "outDir": "dist",
13
18
  "lib": ["esnext"],
14
- "composite": true
19
+ "composite": true,
20
+ "noUnusedLocals": false
15
21
  }
16
22
  }
package/vitest-setup.ts CHANGED
@@ -1,2 +1,30 @@
1
+ import { beforeEach, vi } from "vitest";
2
+ import { vol, fs } from "memfs";
3
+ import mockRequire from "mock-require";
4
+ import Module from "node:module";
5
+ import path from "node:path";
1
6
  import "@testing-library/jest-dom/vitest";
2
7
  import "./src/testing/internal/matchers";
8
+
9
+ vi.mock("node:fs");
10
+ vi.mock("node:fs/promises");
11
+
12
+ // Intercept CJS require("fs") in externalized node_modules (cosmiconfig) since
13
+ // vitest only mocks ESM-compatible imports
14
+ mockRequire("fs", fs);
15
+ mockRequire("fs/promises", fs.promises);
16
+
17
+ // Mock import-fresh to read from memfs instead of real filesystem.
18
+ // Cosmiconfig uses import-fresh to load .js/.cjs config files via require(),
19
+ // which bypasses the mocked fs.
20
+ mockRequire("import-fresh", (filepath: string) => {
21
+ const content = fs.readFileSync(filepath, "utf-8");
22
+ const m = new Module(filepath);
23
+ m.paths = (Module as any)._nodeModulePaths(path.dirname(filepath));
24
+ (m as any)._compile(content, filepath);
25
+ return m.exports;
26
+ });
27
+
28
+ beforeEach(() => {
29
+ vol.reset();
30
+ });
@@ -1,16 +0,0 @@
1
- import type { ReactNode } from "react";
2
- interface ToolUseState {
3
- appName: string;
4
- hasNavigated: boolean;
5
- setHasNavigated: (v: boolean) => void;
6
- }
7
- export declare namespace ToolUseProvider {
8
- interface Props {
9
- children?: ReactNode;
10
- appName: string;
11
- }
12
- }
13
- export declare function ToolUseProvider({ children, appName }: ToolUseProvider.Props): import("react/jsx-runtime").JSX.Element;
14
- export declare function useToolUseState(): ToolUseState | null;
15
- export {};
16
- //# sourceMappingURL=ToolUseContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolUseContext.d.ts","sourceRoot":"","sources":["../../../src/react/context/ToolUseContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAID,MAAM,CAAC,OAAO,WAAW,eAAe,CAAC;IACvC,UAAiB,KAAK;QACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;KACjB;CACF;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,CAAC,KAAK,2CAQ3E;AAED,wBAAgB,eAAe,wBAE9B"}
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext, useState } from "react";
3
- const ToolUseContext = createContext(null);
4
- export function ToolUseProvider({ children, appName }) {
5
- const [hasNavigated, setHasNavigated] = useState(false);
6
- return (_jsx(ToolUseContext.Provider, { value: { hasNavigated, setHasNavigated, appName }, children: children }));
7
- }
8
- export function useToolUseState() {
9
- return useContext(ToolUseContext);
10
- }
11
- //# sourceMappingURL=ToolUseContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolUseContext.js","sourceRoot":"","sources":["../../../src/react/context/ToolUseContext.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQ5D,MAAM,cAAc,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAC;AAShE,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAyB;IAC1E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,YACvE,QAAQ,GACe,CAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC","sourcesContent":["import type { ReactNode } from \"react\";\nimport { createContext, useContext, useState } from \"react\";\n\ninterface ToolUseState {\n appName: string;\n hasNavigated: boolean;\n setHasNavigated: (v: boolean) => void;\n}\n\nconst ToolUseContext = createContext<ToolUseState | null>(null);\n\nexport declare namespace ToolUseProvider {\n export interface Props {\n children?: ReactNode;\n appName: string;\n }\n}\n\nexport function ToolUseProvider({ children, appName }: ToolUseProvider.Props) {\n const [hasNavigated, setHasNavigated] = useState(false);\n\n return (\n <ToolUseContext.Provider value={{ hasNavigated, setHasNavigated, appName }}>\n {children}\n </ToolUseContext.Provider>\n );\n}\n\nexport function useToolUseState() {\n return useContext(ToolUseContext);\n}\n"]}
@@ -1,4 +0,0 @@
1
- type UseCallToolResult = <K>(toolId: string, variables?: Record<string, unknown> | undefined) => Promise<K>;
2
- export declare const useCallTool: () => UseCallToolResult;
3
- export {};
4
- //# sourceMappingURL=useCallTool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCallTool.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useCallTool.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAC5C,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,eAAO,MAAM,WAAW,QAAO,iBAO9B,CAAC"}
@@ -1,5 +0,0 @@
1
- export const useCallTool = () => {
2
- const callTool = async (toolId, variables = {}) => await window.openai?.callTool(toolId, variables);
3
- return callTool;
4
- };
5
- //# sourceMappingURL=useCallTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCallTool.js","sourceRoot":"","sources":["../../../src/react/hooks/useCallTool.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,WAAW,GAAG,GAAsB,EAAE;IACjD,MAAM,QAAQ,GAAG,KAAK,EACpB,MAAc,EACd,YAAiD,EAAE,EACnD,EAAE,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEtD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["type UseCallToolResult = <K>(\n toolId: string,\n variables?: Record<string, unknown> | undefined\n) => Promise<K>;\n\nexport const useCallTool = (): UseCallToolResult => {\n const callTool = async (\n toolId: string,\n variables: Record<string, unknown> | undefined = {}\n ) => await window.openai?.callTool(toolId, variables);\n\n return callTool;\n};\n"]}
@@ -1,3 +0,0 @@
1
- import type { OpenAiGlobals } from "../../types/openai.js";
2
- export declare function useOpenAiGlobal<K extends keyof OpenAiGlobals>(key: K): OpenAiGlobals[K];
3
- //# sourceMappingURL=useOpenAiGlobal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOpenAiGlobal.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useOpenAiGlobal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG5E,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,aAAa,EAC3D,GAAG,EAAE,CAAC,GACL,aAAa,CAAC,CAAC,CAAC,CAsBlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOpenAiGlobal.js","sourceRoot":"","sources":["../../../src/react/hooks/useOpenAiGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,UAAU,eAAe,CAC7B,GAAM;IAEN,OAAO,oBAAoB,CACzB,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvB,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,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,EAAE,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CACzB,CAAC;AACJ,CAAC","sourcesContent":["import { useSyncExternalStore, useCallback } from \"react\";\nimport type { SetGlobalsEvent, OpenAiGlobals } from \"../../types/openai.js\";\nimport { SET_GLOBALS_EVENT_TYPE } from \"../../types/openai.js\";\n\nexport function useOpenAiGlobal<K extends keyof OpenAiGlobals>(\n key: K\n): OpenAiGlobals[K] {\n return useSyncExternalStore(\n useCallback((onChange) => {\n const handleSetGlobal = (event: SetGlobalsEvent) => {\n const value = event.detail.globals[key];\n if (value === undefined) {\n return;\n }\n\n onChange();\n };\n\n window.addEventListener(SET_GLOBALS_EVENT_TYPE, handleSetGlobal, {\n passive: true,\n });\n\n return () => {\n window.removeEventListener(SET_GLOBALS_EVENT_TYPE, handleSetGlobal);\n };\n }, []),\n () => window.openai[key]\n );\n}\n"]}
@@ -1,4 +0,0 @@
1
- export declare function useOpenExternal(): (payload: {
2
- href: string;
3
- }) => void;
4
- //# sourceMappingURL=useOpenExternal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOpenExternal.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useOpenExternal.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe;;WAK9B"}
@@ -1,5 +0,0 @@
1
- import { useCallback } from "react";
2
- export function useOpenExternal() {
3
- return useCallback((...args) => window.openai.openExternal(...args), []);
4
- }
5
- //# sourceMappingURL=useOpenExternal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOpenExternal.js","sourceRoot":"","sources":["../../../src/react/hooks/useOpenExternal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAKpC,MAAM,UAAU,eAAe;IAC7B,OAAO,WAAW,CAChB,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,EAChD,EAAE,CACH,CAAC;AACJ,CAAC","sourcesContent":["import { useCallback } from \"react\";\nimport type { API } from \"../../types/openai.js\";\n\ntype OpenExternalFn = API<any>[\"openExternal\"];\n\nexport function useOpenExternal() {\n return useCallback<OpenExternalFn>(\n (...args) => window.openai.openExternal(...args),\n []\n );\n}\n"]}
@@ -1,7 +0,0 @@
1
- import type { DisplayMode } from "../../types/openai.js";
2
- export declare const useRequestDisplayMode: () => (args: {
3
- mode: DisplayMode;
4
- }) => Promise<{
5
- mode: DisplayMode;
6
- }>;
7
- //# sourceMappingURL=useRequestDisplayMode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRequestDisplayMode.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useRequestDisplayMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,eAAO,MAAM,qBAAqB,SAClB,MAAM;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE;;EAG1C,CAAC"}
@@ -1,6 +0,0 @@
1
- export const useRequestDisplayMode = () => {
2
- return async (args) => {
3
- return await window.openai?.requestDisplayMode(args);
4
- };
5
- };
6
- //# sourceMappingURL=useRequestDisplayMode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRequestDisplayMode.js","sourceRoot":"","sources":["../../../src/react/hooks/useRequestDisplayMode.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,KAAK,EAAE,IAA2B,EAAE,EAAE;QAC3C,OAAO,MAAM,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type { DisplayMode } from \"../../types/openai.js\";\n\nexport const useRequestDisplayMode = () => {\n return async (args: { mode: DisplayMode }) => {\n return await window.openai?.requestDisplayMode(args);\n };\n};\n"]}
@@ -1,2 +0,0 @@
1
- export declare const useSendFollowUpMessage: () => (prompt: string) => Promise<void>;
2
- //# sourceMappingURL=useSendFollowUpMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSendFollowUpMessage.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useSendFollowUpMessage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,SACnB,QAAQ,MAAM,kBAK7B,CAAC"}
@@ -1,8 +0,0 @@
1
- export const useSendFollowUpMessage = () => {
2
- return async (prompt) => {
3
- await window.openai?.sendFollowUpMessage({
4
- prompt,
5
- });
6
- };
7
- };
8
- //# sourceMappingURL=useSendFollowUpMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSendFollowUpMessage.js","sourceRoot":"","sources":["../../../src/react/hooks/useSendFollowUpMessage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,OAAO,KAAK,EAAE,MAAc,EAAE,EAAE;QAC9B,MAAM,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;YACvC,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["export const useSendFollowUpMessage = () => {\n return async (prompt: string) => {\n await window.openai?.sendFollowUpMessage({\n prompt,\n });\n };\n};\n"]}
@@ -1,3 +0,0 @@
1
- import React from "react";
2
- export declare const useToolEffect: (toolName: string | string[], effect: (toolInput: any) => void, deps?: React.DependencyList) => void;
3
- //# sourceMappingURL=useToolEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToolEffect.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useToolEffect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAKzC,eAAO,MAAM,aAAa,GACxB,UAAU,MAAM,GAAG,MAAM,EAAE,EAC3B,QAAQ,CAAC,SAAS,EAAE,GAAG,KAAK,IAAI,EAChC,OAAM,KAAK,CAAC,cAAmB,SA4BhC,CAAC"}
@@ -1,28 +0,0 @@
1
- import React, { useEffect } from "react";
2
- import { useToolName } from "./useToolName.js";
3
- import { useToolInput } from "./useToolInput.js";
4
- import { useToolUseState } from "../context/ToolUseContext.js";
5
- export const useToolEffect = (toolName, effect, deps = []) => {
6
- const ctx = useToolUseState();
7
- const fullToolName = useToolName();
8
- const toolInput = useToolInput();
9
- if (!ctx)
10
- throw new Error("useToolEffect must be used within ToolUseProvider");
11
- const toolNames = Array.isArray(toolName) ? toolName : [toolName];
12
- useEffect(() => {
13
- const matches = toolNames.some((name) => fullToolName === `${ctx.appName}--${name}`);
14
- if (!ctx.hasNavigated && matches) {
15
- effect(toolInput);
16
- ctx.setHasNavigated(true);
17
- }
18
- }, [
19
- ctx.hasNavigated,
20
- ctx.setHasNavigated,
21
- ctx.appName,
22
- toolNames,
23
- fullToolName,
24
- toolInput,
25
- ...deps,
26
- ]);
27
- };
28
- //# sourceMappingURL=useToolEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToolEffect.js","sourceRoot":"","sources":["../../../src/react/hooks/useToolEffect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,QAA2B,EAC3B,MAAgC,EAChC,OAA6B,EAAE,EAC/B,EAAE;IACF,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,WAAW,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAC5B,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CACrD,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;YACjC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClB,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE;QACD,GAAG,CAAC,YAAY;QAChB,GAAG,CAAC,eAAe;QACnB,GAAG,CAAC,OAAO;QACX,SAAS;QACT,YAAY;QACZ,SAAS;QACT,GAAG,IAAI;KACR,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import React, { useEffect } from \"react\";\nimport { useToolName } from \"./useToolName.js\";\nimport { useToolInput } from \"./useToolInput.js\";\nimport { useToolUseState } from \"../context/ToolUseContext.js\";\n\nexport const useToolEffect = (\n toolName: string | string[],\n effect: (toolInput: any) => void,\n deps: React.DependencyList = []\n) => {\n const ctx = useToolUseState();\n const fullToolName = useToolName();\n const toolInput = useToolInput();\n if (!ctx)\n throw new Error(\"useToolEffect must be used within ToolUseProvider\");\n\n const toolNames = Array.isArray(toolName) ? toolName : [toolName];\n\n useEffect(() => {\n const matches = toolNames.some(\n (name) => fullToolName === `${ctx.appName}--${name}`\n );\n\n if (!ctx.hasNavigated && matches) {\n effect(toolInput);\n ctx.setHasNavigated(true);\n }\n }, [\n ctx.hasNavigated,\n ctx.setHasNavigated,\n ctx.appName,\n toolNames,\n fullToolName,\n toolInput,\n ...deps,\n ]);\n};\n"]}
@@ -1,2 +0,0 @@
1
- export declare const useToolInput: () => any;
2
- //# sourceMappingURL=useToolInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToolInput.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useToolInput.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,QAAO,GAI/B,CAAC"}
@@ -1,6 +0,0 @@
1
- import { useOpenAiGlobal } from "./useOpenAiGlobal.js";
2
- export const useToolInput = () => {
3
- const toolInput = useOpenAiGlobal("toolInput");
4
- return toolInput;
5
- };
6
- //# sourceMappingURL=useToolInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToolInput.js","sourceRoot":"","sources":["../../../src/react/hooks/useToolInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAQ,EAAE;IACpC,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAE/C,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC","sourcesContent":["import { useOpenAiGlobal } from \"./useOpenAiGlobal.js\";\n\nexport const useToolInput = (): any => {\n const toolInput = useOpenAiGlobal(\"toolInput\");\n\n return toolInput;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToolName.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useToolName.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,QAAO,MAAM,GAAG,SAIvC,CAAC"}
@@ -1,6 +0,0 @@
1
- import { useOpenAiGlobal } from "./useOpenAiGlobal.js";
2
- export const useToolName = () => {
3
- const toolResponseMetadata = useOpenAiGlobal("toolResponseMetadata");
4
- return toolResponseMetadata?.toolName;
5
- };
6
- //# sourceMappingURL=useToolName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToolName.js","sourceRoot":"","sources":["../../../src/react/hooks/useToolName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAuB,EAAE;IAClD,MAAM,oBAAoB,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAErE,OAAO,oBAAoB,EAAE,QAAkB,CAAC;AAClD,CAAC,CAAC","sourcesContent":["import { useOpenAiGlobal } from \"./useOpenAiGlobal.js\";\n\nexport const useToolName = (): string | undefined => {\n const toolResponseMetadata = useOpenAiGlobal(\"toolResponseMetadata\");\n\n return toolResponseMetadata?.toolName as string;\n};\n"]}
@@ -1,2 +0,0 @@
1
- export declare function useToolOutput(): import("../../index.js").UnknownObject | null;
2
- //# sourceMappingURL=useToolOutput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToolOutput.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useToolOutput.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,kDAE5B"}
@@ -1,5 +0,0 @@
1
- import { useOpenAiGlobal } from "./useOpenAiGlobal.js";
2
- export function useToolOutput() {
3
- return useOpenAiGlobal("toolOutput") ?? null;
4
- }
5
- //# sourceMappingURL=useToolOutput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToolOutput.js","sourceRoot":"","sources":["../../../src/react/hooks/useToolOutput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,aAAa;IAC3B,OAAO,eAAe,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC","sourcesContent":["import { useOpenAiGlobal } from \"./useOpenAiGlobal.js\";\n\nexport function useToolOutput() {\n return useOpenAiGlobal(\"toolOutput\") ?? null;\n}\n"]}
@@ -1,2 +0,0 @@
1
- export declare function useToolResponseMetadata(): import("../../index.js").UnknownObject | null;
2
- //# sourceMappingURL=useToolResponseMetadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToolResponseMetadata.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useToolResponseMetadata.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,kDAEtC"}
@@ -1,5 +0,0 @@
1
- import { useOpenAiGlobal } from "./useOpenAiGlobal.js";
2
- export function useToolResponseMetadata() {
3
- return useOpenAiGlobal("toolResponseMetadata") ?? null;
4
- }
5
- //# sourceMappingURL=useToolResponseMetadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useToolResponseMetadata.js","sourceRoot":"","sources":["../../../src/react/hooks/useToolResponseMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,uBAAuB;IACrC,OAAO,eAAe,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC;AACzD,CAAC","sourcesContent":["import { useOpenAiGlobal } from \"./useOpenAiGlobal.js\";\n\nexport function useToolResponseMetadata() {\n return useOpenAiGlobal(\"toolResponseMetadata\") ?? null;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWidgetState.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useWidgetState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,wBAAgB,cAAc,CAAC,CAAC,SAAS,aAAa,EACpD,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAC1B,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAEpD,wBAAgB,cAAc,CAAC,CAAC,SAAS,aAAa,EACpD,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,GACzC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWidgetState.js","sourceRoot":"","sources":["../../../src/react/hooks/useWidgetState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAUvD,MAAM,UAAU,cAAc,CAC5B,YAA0C;IAE1C,MAAM,qBAAqB,GAAG,eAAe,CAAC,aAAa,CAAM,CAAC;IAClE,MAAM,CAAC,6BAA6B,EAAE,gCAAgC,CAAC,GACrE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAElC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE;QAC3D,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;YAClC,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QAED,OAAO,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CACzD,CAAC,YAAY,IAAI,IAAI,CAAC,CACvB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,6BAA6B,KAAK,qBAAqB,EAAE,CAAC;QAC5D,eAAe,CAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,CAAC;QACvD,gCAAgC,CAAC,qBAAqB,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,KAA+B,EAAE,EAAE;QACrE,eAAe,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAExE,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBACtD,KAAK,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvC,CAAC","sourcesContent":["import type { SetStateAction } from \"react\";\nimport { useCallback, useState } from \"react\";\nimport type { UnknownObject } from \"../../types/openai.js\";\nimport { useOpenAiGlobal } from \"./useOpenAiGlobal.js\";\n\nexport function useWidgetState<T extends UnknownObject>(\n defaultState: T | (() => T)\n): readonly [T, (state: SetStateAction<T>) => void];\n\nexport function useWidgetState<T extends UnknownObject>(\n defaultState?: T | (() => T | null) | null\n): readonly [T | null, (state: SetStateAction<T | null>) => void];\n\nexport function useWidgetState<T extends UnknownObject>(\n defaultState?: T | (() => T | null) | null\n): readonly [T | null, (state: SetStateAction<T | null>) => void] {\n const widgetStateFromWindow = useOpenAiGlobal(\"widgetState\") as T;\n const [previousWidgetStateFromWindow, setPreviousWidgetStateFromWindow] =\n useState(widgetStateFromWindow);\n\n let [widgetState, _setWidgetState] = useState<T | null>(() => {\n if (widgetStateFromWindow != null) {\n return widgetStateFromWindow;\n }\n\n return typeof defaultState === \"function\" ? defaultState() : (\n (defaultState ?? null)\n );\n });\n\n if (previousWidgetStateFromWindow !== widgetStateFromWindow) {\n _setWidgetState((widgetState = widgetStateFromWindow));\n setPreviousWidgetStateFromWindow(widgetStateFromWindow);\n }\n\n const setWidgetState = useCallback((state: SetStateAction<T | null>) => {\n _setWidgetState((prevState) => {\n const newState = typeof state === \"function\" ? state(prevState) : state;\n\n if (newState != null && typeof window !== \"undefined\") {\n void window.openai?.setWidgetState?.(newState);\n }\n\n return newState;\n });\n }, []);\n\n return [widgetState, setWidgetState];\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/types/openai.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;KAClC;IAED,UAAU,cAAc;QACtB,CAAC,sBAAsB,CAAC,EAAE,eAAe,CAAC;KAC3C;CACF;AAED,MAAM,MAAM,aAAa,CACvB,SAAS,SAAS,aAAa,GAAG,aAAa,EAC/C,UAAU,SAAS,aAAa,GAAG,aAAa,EAChD,oBAAoB,SAAS,aAAa,GAAG,aAAa,EAC1D,WAAW,SAAS,aAAa,GAAG,aAAa,IAC/C;IACF,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IAGnB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,WAAW,SAAS,aAAa,IAAI;IACnD,2DAA2D;IAC3D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAExE,2DAA2D;IAC3D,mBAAmB,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE,+DAA+D;IAC/D,YAAY,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAE9C,gEAAgE;IAChE,kBAAkB,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC;QAC3D;;;WAGG;QACH,IAAI,EAAE,WAAW,CAAC;KACnB,CAAC,CAAC;IAEH,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD,CAAC;AAGF,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAC3D,qBAAa,eAAgB,SAAQ,WAAW,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACjC,CAAC;IACA,QAAQ,CAAC,IAAI,wBAA0B;CACxC;AAED,MAAM,MAAM,QAAQ,GAAG,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE1D,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IAC7B,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/types/openai.ts"],"names":[],"mappings":"AAwDA,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAC3D,MAAM,OAAO,eAAgB,SAAQ,WAEnC;IACS,IAAI,GAAG,sBAAsB,CAAC;CACxC","sourcesContent":["export type UnknownObject = Record<string, unknown>;\n\ndeclare global {\n interface Window {\n openai: API<any> & OpenAiGlobals;\n }\n\n interface WindowEventMap {\n [SET_GLOBALS_EVENT_TYPE]: SetGlobalsEvent;\n }\n}\n\nexport type OpenAiGlobals<\n ToolInput extends UnknownObject = UnknownObject,\n ToolOutput extends UnknownObject = UnknownObject,\n ToolResponseMetadata extends UnknownObject = UnknownObject,\n WidgetState extends UnknownObject = UnknownObject,\n> = {\n theme: Theme;\n userAgent: UserAgent;\n locale: string;\n\n // layout\n maxHeight: number;\n displayMode: DisplayMode;\n safeArea: SafeArea;\n\n // state\n toolInput: ToolInput;\n toolOutput: ToolOutput | null;\n toolResponseMetadata: ToolResponseMetadata | null;\n widgetState: WidgetState | null;\n};\n\nexport type API<WidgetState extends UnknownObject> = {\n /** Calls a tool on your MCP. Returns the full response. */\n callTool: (name: string, args: Record<string, unknown>) => Promise<any>;\n\n /** Triggers a followup turn in the ChatGPT conversation */\n sendFollowUpMessage: (args: { prompt: string }) => Promise<void>;\n\n /** Opens an external link, redirects web page or mobile app */\n openExternal(payload: { href: string }): void;\n\n /** For transitioning an app from inline to fullscreen or pip */\n requestDisplayMode: (args: { mode: DisplayMode }) => Promise<{\n /**\n * The granted display mode. The host may reject the request.\n * For mobile, PiP is always coerced to fullscreen.\n */\n mode: DisplayMode;\n }>;\n\n setWidgetState: (state: WidgetState) => Promise<void>;\n};\n\n// Dispatched when any global changes in the host page\nexport const SET_GLOBALS_EVENT_TYPE = \"openai:set_globals\";\nexport class SetGlobalsEvent extends CustomEvent<{\n globals: Partial<OpenAiGlobals>;\n}> {\n readonly type = SET_GLOBALS_EVENT_TYPE;\n}\n\nexport type CallTool = (\n name: string,\n args: Record<string, unknown>\n) => Promise<any>;\n\nexport type DisplayMode = \"pip\" | \"inline\" | \"fullscreen\";\n\nexport type Theme = \"light\" | \"dark\";\n\nexport type SafeAreaInsets = {\n top: number;\n bottom: number;\n left: number;\n right: number;\n};\n\nexport type SafeArea = {\n insets: SafeAreaInsets;\n};\n\nexport type DeviceType = \"mobile\" | \"tablet\" | \"desktop\" | \"unknown\";\n\nexport type UserAgent = {\n device: { type: DeviceType };\n capabilities: {\n hover: boolean;\n touch: boolean;\n };\n};\n"]}
@@ -1,5 +0,0 @@
1
- export declare const AbsoluteAssetImportsPlugin: () => {
2
- name: string;
3
- transformIndexHtml(html: string, ctx: any): string;
4
- };
5
- //# sourceMappingURL=absolute_asset_imports_plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"absolute_asset_imports_plugin.d.ts","sourceRoot":"","sources":["../../src/vite/absolute_asset_imports_plugin.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;6BAIV,MAAM,OAAO,GAAG;CAiB5C,CAAC"}
@@ -1,17 +0,0 @@
1
- export const AbsoluteAssetImportsPlugin = () => {
2
- return {
3
- name: "absolute-asset-imports",
4
- transformIndexHtml(html, ctx) {
5
- if (!ctx.server)
6
- return html;
7
- let baseUrl = (ctx.server.config?.server?.origin ?? ctx.server.resolvedUrls?.local[0]).replace(/\/$/, "");
8
- baseUrl = baseUrl.replace(/\/$/, "");
9
- return (html
10
- // import "/@vite/..." or "/@react-refresh"
11
- .replace(/(from\s+["'])\/([^"']+)/g, `$1${baseUrl}/$2`)
12
- // src="/src/..."
13
- .replace(/(src=["'])\/([^"']+)/gi, `$1${baseUrl}/$2`));
14
- },
15
- };
16
- };
17
- //# sourceMappingURL=absolute_asset_imports_plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"absolute_asset_imports_plugin.js","sourceRoot":"","sources":["../../src/vite/absolute_asset_imports_plugin.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,EAAE;IAC7C,OAAO;QACL,IAAI,EAAE,wBAAwB;QAE9B,kBAAkB,CAAC,IAAY,EAAE,GAAQ;YACvC,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAE7B,IAAI,OAAO,GAAG,CACZ,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CACvE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAErC,OAAO,CACL,IAAI;gBACF,2CAA2C;iBAC1C,OAAO,CAAC,0BAA0B,EAAE,KAAK,OAAO,KAAK,CAAC;gBACvD,iBAAiB;iBAChB,OAAO,CAAC,wBAAwB,EAAE,KAAK,OAAO,KAAK,CAAC,CACxD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["export const AbsoluteAssetImportsPlugin = () => {\n return {\n name: \"absolute-asset-imports\",\n\n transformIndexHtml(html: string, ctx: any) {\n if (!ctx.server) return html;\n\n let baseUrl = (\n ctx.server.config?.server?.origin ?? ctx.server.resolvedUrls?.local[0]\n ).replace(/\\/$/, \"\");\n baseUrl = baseUrl.replace(/\\/$/, \"\");\n\n return (\n html\n // import \"/@vite/...\" or \"/@react-refresh\"\n .replace(/(from\\s+[\"'])\\/([^\"']+)/g, `$1${baseUrl}/$2`)\n // src=\"/src/...\"\n .replace(/(src=[\"'])\\/([^\"']+)/gi, `$1${baseUrl}/$2`)\n );\n },\n };\n};\n"]}
@@ -1,10 +0,0 @@
1
- import type { DocumentNode } from "graphql";
2
- export declare const ApplicationManifestPlugin: () => {
3
- name: string;
4
- configResolved(resolvedConfig: any): Promise<void>;
5
- buildStart(): Promise<void>;
6
- configureServer(server: any): void;
7
- writeBundle(): Promise<void>;
8
- };
9
- export declare function sortTopLevelDefinitions(query: DocumentNode): DocumentNode;
10
- //# sourceMappingURL=application_manifest_plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"application_manifest_plugin.d.ts","sourceRoot":"","sources":["../../src/vite/application_manifest_plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAOV,YAAY,EAGb,MAAM,SAAS,CAAC;AA2GjB,eAAO,MAAM,yBAAyB;;mCAqPG,GAAG;;4BAuBhB,GAAG;;CAgB9B,CAAC;AAIF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CA2CzE"}