@dxos/plugin-automation 0.7.5-main.b19bfc8 → 0.7.5-main.d9d2d4e

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 (350) hide show
  1. package/dist/lib/browser/AutomationPanel-ITYXSN5Z.mjs +132 -0
  2. package/dist/lib/browser/AutomationPanel-ITYXSN5Z.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-HZSTXZWK.mjs → chunk-OFDNNRLE.mjs} +3 -8
  4. package/dist/lib/browser/chunk-OFDNNRLE.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-U7QLNY2S.mjs +8 -0
  6. package/dist/lib/browser/chunk-U7QLNY2S.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-WY2C7JY4.mjs +119 -0
  8. package/dist/lib/browser/chunk-WY2C7JY4.mjs.map +7 -0
  9. package/dist/lib/browser/complementary-panel-4CPOJL4Y.mjs +56 -0
  10. package/dist/lib/browser/complementary-panel-4CPOJL4Y.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +17 -199
  12. package/dist/lib/browser/index.mjs.map +4 -4
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/react-surface-SAPMN4PF.mjs +27 -0
  15. package/dist/lib/browser/react-surface-SAPMN4PF.mjs.map +7 -0
  16. package/dist/lib/node/{chunk-V4L7LTWM.cjs → AutomationPanel-X33HHDMQ.cjs} +19 -132
  17. package/dist/lib/node/AutomationPanel-X33HHDMQ.cjs.map +7 -0
  18. package/dist/lib/node/chunk-7Q5SNGCL.cjs +148 -0
  19. package/dist/lib/node/chunk-7Q5SNGCL.cjs.map +7 -0
  20. package/dist/lib/node/{TemplateContainer-3YCM6XPU.cjs → chunk-CB5OB6JH.cjs} +8 -21
  21. package/dist/lib/node/chunk-CB5OB6JH.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-BAQRBGOJ.cjs → chunk-ORMEYEBE.cjs} +6 -12
  23. package/dist/lib/node/chunk-ORMEYEBE.cjs.map +7 -0
  24. package/dist/lib/node/complementary-panel-ZYJJ42ZU.cjs +72 -0
  25. package/dist/lib/node/complementary-panel-ZYJJ42ZU.cjs.map +7 -0
  26. package/dist/lib/node/index.cjs +32 -198
  27. package/dist/lib/node/index.cjs.map +4 -4
  28. package/dist/lib/node/meta.json +1 -1
  29. package/dist/lib/node/{ChatContainer-4QTLL7TH.cjs → react-surface-2WRVAPGR.cjs} +20 -30
  30. package/dist/lib/node/react-surface-2WRVAPGR.cjs.map +7 -0
  31. package/dist/lib/node-esm/AutomationPanel-HY3GB4BT.mjs +133 -0
  32. package/dist/lib/node-esm/AutomationPanel-HY3GB4BT.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-IG4GSWZN.mjs → chunk-6MUUH67V.mjs} +3 -8
  34. package/dist/lib/node-esm/chunk-6MUUH67V.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-R3P2WPBQ.mjs +10 -0
  36. package/dist/lib/node-esm/chunk-R3P2WPBQ.mjs.map +7 -0
  37. package/dist/lib/node-esm/chunk-UDD2VA6G.mjs +120 -0
  38. package/dist/lib/node-esm/chunk-UDD2VA6G.mjs.map +7 -0
  39. package/dist/lib/node-esm/complementary-panel-S42RIIAY.mjs +57 -0
  40. package/dist/lib/node-esm/complementary-panel-S42RIIAY.mjs.map +7 -0
  41. package/dist/lib/node-esm/index.mjs +17 -199
  42. package/dist/lib/node-esm/index.mjs.map +4 -4
  43. package/dist/lib/node-esm/meta.json +1 -1
  44. package/dist/lib/node-esm/react-surface-QWLPOYXO.mjs +28 -0
  45. package/dist/lib/node-esm/react-surface-QWLPOYXO.mjs.map +7 -0
  46. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  47. package/dist/types/src/capabilities/{ai-client.d.ts → complementary-panel.d.ts} +2 -3
  48. package/dist/types/src/capabilities/complementary-panel.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/index.d.ts +1 -181
  50. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  52. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  53. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
  54. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/index.d.ts +0 -17
  56. package/dist/types/src/components/index.d.ts.map +1 -1
  57. package/dist/types/src/index.d.ts +0 -1
  58. package/dist/types/src/index.d.ts.map +1 -1
  59. package/dist/types/src/meta.d.ts +0 -2
  60. package/dist/types/src/meta.d.ts.map +1 -1
  61. package/dist/types/src/testing/index.d.ts +0 -1
  62. package/dist/types/src/testing/index.d.ts.map +1 -1
  63. package/dist/types/src/testing/test-functions.d.ts +0 -2
  64. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  65. package/dist/types/src/translations.d.ts +1 -127
  66. package/dist/types/src/translations.d.ts.map +1 -1
  67. package/package.json +21 -77
  68. package/src/AutomationPlugin.tsx +7 -86
  69. package/src/capabilities/complementary-panel.ts +56 -0
  70. package/src/capabilities/index.ts +1 -6
  71. package/src/capabilities/react-surface.tsx +3 -44
  72. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +1 -2
  73. package/src/components/AutomationPanel/AutomationPanel.tsx +56 -49
  74. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +1 -2
  75. package/src/components/index.ts +0 -9
  76. package/src/index.ts +0 -1
  77. package/src/meta.ts +1 -4
  78. package/src/testing/index.ts +0 -1
  79. package/src/testing/test-functions.ts +0 -7
  80. package/src/translations.ts +1 -47
  81. package/dist/lib/browser/AssistantDialog-V67OWLRP.mjs +0 -116
  82. package/dist/lib/browser/AssistantDialog-V67OWLRP.mjs.map +0 -7
  83. package/dist/lib/browser/AutomationPanel-NCKK3CFN.mjs +0 -8
  84. package/dist/lib/browser/AutomationPanel-NCKK3CFN.mjs.map +0 -7
  85. package/dist/lib/browser/ChatContainer-5BS6THNV.mjs +0 -33
  86. package/dist/lib/browser/ChatContainer-5BS6THNV.mjs.map +0 -7
  87. package/dist/lib/browser/TemplateContainer-HJJV44CE.mjs +0 -23
  88. package/dist/lib/browser/TemplateContainer-HJJV44CE.mjs.map +0 -7
  89. package/dist/lib/browser/ai-client-T2PBJISL.mjs +0 -22
  90. package/dist/lib/browser/ai-client-T2PBJISL.mjs.map +0 -7
  91. package/dist/lib/browser/app-graph-builder-IR3CGVM6.mjs +0 -110
  92. package/dist/lib/browser/app-graph-builder-IR3CGVM6.mjs.map +0 -7
  93. package/dist/lib/browser/chunk-62E2AEXF.mjs +0 -162
  94. package/dist/lib/browser/chunk-62E2AEXF.mjs.map +0 -7
  95. package/dist/lib/browser/chunk-67KDIIM6.mjs +0 -15
  96. package/dist/lib/browser/chunk-67KDIIM6.mjs.map +0 -7
  97. package/dist/lib/browser/chunk-BQ4WHY4D.mjs +0 -1818
  98. package/dist/lib/browser/chunk-BQ4WHY4D.mjs.map +0 -7
  99. package/dist/lib/browser/chunk-HZSTXZWK.mjs.map +0 -7
  100. package/dist/lib/browser/chunk-LJ7F4KDM.mjs +0 -243
  101. package/dist/lib/browser/chunk-LJ7F4KDM.mjs.map +0 -7
  102. package/dist/lib/browser/chunk-QH5E22EL.mjs +0 -108
  103. package/dist/lib/browser/chunk-QH5E22EL.mjs.map +0 -7
  104. package/dist/lib/browser/chunk-XAIWETH6.mjs +0 -81
  105. package/dist/lib/browser/chunk-XAIWETH6.mjs.map +0 -7
  106. package/dist/lib/browser/intent-resolver-ICLE6FSI.mjs +0 -44
  107. package/dist/lib/browser/intent-resolver-ICLE6FSI.mjs.map +0 -7
  108. package/dist/lib/browser/react-surface-KEKVLCPQ.mjs +0 -80
  109. package/dist/lib/browser/react-surface-KEKVLCPQ.mjs.map +0 -7
  110. package/dist/lib/browser/settings-FE5DDWOE.mjs +0 -22
  111. package/dist/lib/browser/settings-FE5DDWOE.mjs.map +0 -7
  112. package/dist/lib/browser/types/index.mjs +0 -24
  113. package/dist/lib/browser/types/index.mjs.map +0 -7
  114. package/dist/lib/node/AssistantDialog-E62O72KI.cjs +0 -140
  115. package/dist/lib/node/AssistantDialog-E62O72KI.cjs.map +0 -7
  116. package/dist/lib/node/AutomationPanel-6COLKRIB.cjs +0 -26
  117. package/dist/lib/node/AutomationPanel-6COLKRIB.cjs.map +0 -7
  118. package/dist/lib/node/ChatContainer-4QTLL7TH.cjs.map +0 -7
  119. package/dist/lib/node/TemplateContainer-3YCM6XPU.cjs.map +0 -7
  120. package/dist/lib/node/ai-client-L5GUSAER.cjs +0 -38
  121. package/dist/lib/node/ai-client-L5GUSAER.cjs.map +0 -7
  122. package/dist/lib/node/app-graph-builder-ECNVGTRT.cjs +0 -122
  123. package/dist/lib/node/app-graph-builder-ECNVGTRT.cjs.map +0 -7
  124. package/dist/lib/node/chunk-3QSK6IPK.cjs +0 -133
  125. package/dist/lib/node/chunk-3QSK6IPK.cjs.map +0 -7
  126. package/dist/lib/node/chunk-76F5BCJE.cjs +0 -111
  127. package/dist/lib/node/chunk-76F5BCJE.cjs.map +0 -7
  128. package/dist/lib/node/chunk-B37JIAOP.cjs +0 -1795
  129. package/dist/lib/node/chunk-B37JIAOP.cjs.map +0 -7
  130. package/dist/lib/node/chunk-BAQRBGOJ.cjs.map +0 -7
  131. package/dist/lib/node/chunk-UVWK2XJE.cjs +0 -183
  132. package/dist/lib/node/chunk-UVWK2XJE.cjs.map +0 -7
  133. package/dist/lib/node/chunk-V4L7LTWM.cjs.map +0 -7
  134. package/dist/lib/node/chunk-VNBYGJ4K.cjs +0 -34
  135. package/dist/lib/node/chunk-VNBYGJ4K.cjs.map +0 -7
  136. package/dist/lib/node/intent-resolver-4MQZULXW.cjs +0 -58
  137. package/dist/lib/node/intent-resolver-4MQZULXW.cjs.map +0 -7
  138. package/dist/lib/node/react-surface-4RVHY6WI.cjs +0 -95
  139. package/dist/lib/node/react-surface-4RVHY6WI.cjs.map +0 -7
  140. package/dist/lib/node/settings-GOIB2WJQ.cjs +0 -36
  141. package/dist/lib/node/settings-GOIB2WJQ.cjs.map +0 -7
  142. package/dist/lib/node/types/index.cjs +0 -46
  143. package/dist/lib/node/types/index.cjs.map +0 -7
  144. package/dist/lib/node-esm/AssistantDialog-IPRBJKWA.mjs +0 -117
  145. package/dist/lib/node-esm/AssistantDialog-IPRBJKWA.mjs.map +0 -7
  146. package/dist/lib/node-esm/AutomationPanel-3MPIAO7R.mjs +0 -9
  147. package/dist/lib/node-esm/AutomationPanel-3MPIAO7R.mjs.map +0 -7
  148. package/dist/lib/node-esm/ChatContainer-4IWUGMGM.mjs +0 -34
  149. package/dist/lib/node-esm/ChatContainer-4IWUGMGM.mjs.map +0 -7
  150. package/dist/lib/node-esm/TemplateContainer-YJIXR24Z.mjs +0 -24
  151. package/dist/lib/node-esm/TemplateContainer-YJIXR24Z.mjs.map +0 -7
  152. package/dist/lib/node-esm/ai-client-45LZLW7V.mjs +0 -23
  153. package/dist/lib/node-esm/ai-client-45LZLW7V.mjs.map +0 -7
  154. package/dist/lib/node-esm/app-graph-builder-HMRKSZ2X.mjs +0 -111
  155. package/dist/lib/node-esm/app-graph-builder-HMRKSZ2X.mjs.map +0 -7
  156. package/dist/lib/node-esm/chunk-5BKKHYO5.mjs +0 -163
  157. package/dist/lib/node-esm/chunk-5BKKHYO5.mjs.map +0 -7
  158. package/dist/lib/node-esm/chunk-AWAU4BHR.mjs +0 -244
  159. package/dist/lib/node-esm/chunk-AWAU4BHR.mjs.map +0 -7
  160. package/dist/lib/node-esm/chunk-CAWPHOY4.mjs +0 -82
  161. package/dist/lib/node-esm/chunk-CAWPHOY4.mjs.map +0 -7
  162. package/dist/lib/node-esm/chunk-I32H7MCF.mjs +0 -109
  163. package/dist/lib/node-esm/chunk-I32H7MCF.mjs.map +0 -7
  164. package/dist/lib/node-esm/chunk-IG4GSWZN.mjs.map +0 -7
  165. package/dist/lib/node-esm/chunk-QHKP5HT2.mjs +0 -1819
  166. package/dist/lib/node-esm/chunk-QHKP5HT2.mjs.map +0 -7
  167. package/dist/lib/node-esm/chunk-SS7U6GCX.mjs +0 -16
  168. package/dist/lib/node-esm/chunk-SS7U6GCX.mjs.map +0 -7
  169. package/dist/lib/node-esm/intent-resolver-ZS7XTYLG.mjs +0 -45
  170. package/dist/lib/node-esm/intent-resolver-ZS7XTYLG.mjs.map +0 -7
  171. package/dist/lib/node-esm/react-surface-5ILD642V.mjs +0 -81
  172. package/dist/lib/node-esm/react-surface-5ILD642V.mjs.map +0 -7
  173. package/dist/lib/node-esm/settings-ANNQPPRY.mjs +0 -23
  174. package/dist/lib/node-esm/settings-ANNQPPRY.mjs.map +0 -7
  175. package/dist/lib/node-esm/types/index.mjs +0 -25
  176. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  177. package/dist/types/src/capabilities/ai-client.d.ts.map +0 -1
  178. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -181
  179. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  180. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  181. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  182. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  183. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  184. package/dist/types/src/capabilities/settings.d.ts +0 -4
  185. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  186. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +0 -7
  187. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +0 -1
  188. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts +0 -8
  189. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts.map +0 -1
  190. package/dist/types/src/components/AmbientDialog/index.d.ts +0 -2
  191. package/dist/types/src/components/AmbientDialog/index.d.ts.map +0 -1
  192. package/dist/types/src/components/AssistantDialog.d.ts +0 -7
  193. package/dist/types/src/components/AssistantDialog.d.ts.map +0 -1
  194. package/dist/types/src/components/AutomationSettings/AutomationSettings.d.ts +0 -5
  195. package/dist/types/src/components/AutomationSettings/AutomationSettings.d.ts.map +0 -1
  196. package/dist/types/src/components/AutomationSettings/index.d.ts +0 -2
  197. package/dist/types/src/components/AutomationSettings/index.d.ts.map +0 -1
  198. package/dist/types/src/components/ChatContainer.d.ts +0 -7
  199. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  200. package/dist/types/src/components/Prompt/Prompt.d.ts +0 -17
  201. package/dist/types/src/components/Prompt/Prompt.d.ts.map +0 -1
  202. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +0 -9
  203. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +0 -1
  204. package/dist/types/src/components/Prompt/PromptBar.d.ts +0 -10
  205. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +0 -1
  206. package/dist/types/src/components/Prompt/autocomplete.d.ts +0 -21
  207. package/dist/types/src/components/Prompt/autocomplete.d.ts.map +0 -1
  208. package/dist/types/src/components/Prompt/index.d.ts +0 -3
  209. package/dist/types/src/components/Prompt/index.d.ts.map +0 -1
  210. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -5
  211. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
  212. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
  213. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
  214. package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
  215. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
  216. package/dist/types/src/components/TemplateContainer.d.ts +0 -7
  217. package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
  218. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +0 -12
  219. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +0 -1
  220. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +0 -8
  221. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +0 -1
  222. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +0 -10
  223. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +0 -1
  224. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +0 -8
  225. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +0 -1
  226. package/dist/types/src/components/TemplateEditor/index.d.ts +0 -2
  227. package/dist/types/src/components/TemplateEditor/index.d.ts.map +0 -1
  228. package/dist/types/src/components/TemplateEditor/types.d.ts +0 -18
  229. package/dist/types/src/components/TemplateEditor/types.d.ts.map +0 -1
  230. package/dist/types/src/components/Thread/Thread.d.ts +0 -17
  231. package/dist/types/src/components/Thread/Thread.d.ts.map +0 -1
  232. package/dist/types/src/components/Thread/Thread.stories.d.ts +0 -11
  233. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +0 -1
  234. package/dist/types/src/components/Thread/ThreadContainer.d.ts +0 -10
  235. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +0 -1
  236. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +0 -15
  237. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +0 -1
  238. package/dist/types/src/components/Thread/ThreadMessage.d.ts +0 -13
  239. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +0 -1
  240. package/dist/types/src/components/Thread/ToolInvocations.d.ts +0 -13
  241. package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +0 -1
  242. package/dist/types/src/components/Thread/index.d.ts +0 -3
  243. package/dist/types/src/components/Thread/index.d.ts.map +0 -1
  244. package/dist/types/src/components/Thread/reducer.d.ts +0 -12
  245. package/dist/types/src/components/Thread/reducer.d.ts.map +0 -1
  246. package/dist/types/src/components/Toolbox/Toolbox.d.ts +0 -19
  247. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +0 -1
  248. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +0 -8
  249. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +0 -1
  250. package/dist/types/src/components/Toolbox/index.d.ts +0 -2
  251. package/dist/types/src/components/Toolbox/index.d.ts.map +0 -1
  252. package/dist/types/src/hooks/email.d.ts +0 -4
  253. package/dist/types/src/hooks/email.d.ts.map +0 -1
  254. package/dist/types/src/hooks/index.d.ts +0 -7
  255. package/dist/types/src/hooks/index.d.ts.map +0 -1
  256. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  257. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  258. package/dist/types/src/hooks/processor.d.ts +0 -75
  259. package/dist/types/src/hooks/processor.d.ts.map +0 -1
  260. package/dist/types/src/hooks/processor.test.d.ts +0 -2
  261. package/dist/types/src/hooks/processor.test.d.ts.map +0 -1
  262. package/dist/types/src/hooks/useChatProcessor.d.ts +0 -8
  263. package/dist/types/src/hooks/useChatProcessor.d.ts.map +0 -1
  264. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  265. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  266. package/dist/types/src/hooks/useMessageQueue.d.ts +0 -41
  267. package/dist/types/src/hooks/useMessageQueue.d.ts.map +0 -1
  268. package/dist/types/src/hooks/useServices.d.ts +0 -7
  269. package/dist/types/src/hooks/useServices.d.ts.map +0 -1
  270. package/dist/types/src/hooks/useTextInputEvents.d.ts +0 -13
  271. package/dist/types/src/hooks/useTextInputEvents.d.ts.map +0 -1
  272. package/dist/types/src/testing/test-services.d.ts +0 -5
  273. package/dist/types/src/testing/test-services.d.ts.map +0 -1
  274. package/dist/types/src/tools/function.d.ts +0 -5
  275. package/dist/types/src/tools/function.d.ts.map +0 -1
  276. package/dist/types/src/tools/index.d.ts +0 -3
  277. package/dist/types/src/tools/index.d.ts.map +0 -1
  278. package/dist/types/src/tools/openapi.d.ts +0 -10
  279. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  280. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  281. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  282. package/dist/types/src/types/chat.d.ts +0 -12
  283. package/dist/types/src/types/chat.d.ts.map +0 -1
  284. package/dist/types/src/types/index.d.ts +0 -5
  285. package/dist/types/src/types/index.d.ts.map +0 -1
  286. package/dist/types/src/types/service.d.ts +0 -160
  287. package/dist/types/src/types/service.d.ts.map +0 -1
  288. package/dist/types/src/types/template.d.ts +0 -40
  289. package/dist/types/src/types/template.d.ts.map +0 -1
  290. package/dist/types/src/types/types.d.ts +0 -37
  291. package/dist/types/src/types/types.d.ts.map +0 -1
  292. package/src/capabilities/ai-client.ts +0 -19
  293. package/src/capabilities/app-graph-builder.ts +0 -99
  294. package/src/capabilities/capabilities.ts +0 -12
  295. package/src/capabilities/intent-resolver.ts +0 -38
  296. package/src/capabilities/settings.ts +0 -19
  297. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +0 -81
  298. package/src/components/AmbientDialog/AmbientDialog.tsx +0 -103
  299. package/src/components/AmbientDialog/index.ts +0 -5
  300. package/src/components/AssistantDialog.tsx +0 -33
  301. package/src/components/AutomationSettings/AutomationSettings.tsx +0 -49
  302. package/src/components/AutomationSettings/index.ts +0 -5
  303. package/src/components/ChatContainer.tsx +0 -29
  304. package/src/components/Prompt/Prompt.stories.tsx +0 -79
  305. package/src/components/Prompt/Prompt.tsx +0 -100
  306. package/src/components/Prompt/PromptBar.tsx +0 -100
  307. package/src/components/Prompt/autocomplete.ts +0 -212
  308. package/src/components/Prompt/index.ts +0 -6
  309. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
  310. package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -76
  311. package/src/components/ServiceRegistry/index.ts +0 -5
  312. package/src/components/TemplateContainer.tsx +0 -21
  313. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +0 -72
  314. package/src/components/TemplateEditor/TemplateEditor.tsx +0 -76
  315. package/src/components/TemplateEditor/TemplateForm.stories.tsx +0 -65
  316. package/src/components/TemplateEditor/TemplateForm.tsx +0 -184
  317. package/src/components/TemplateEditor/index.ts +0 -5
  318. package/src/components/TemplateEditor/types.tsx +0 -28
  319. package/src/components/Thread/Thread.stories.tsx +0 -212
  320. package/src/components/Thread/Thread.tsx +0 -97
  321. package/src/components/Thread/ThreadContainer.stories.tsx +0 -258
  322. package/src/components/Thread/ThreadContainer.tsx +0 -78
  323. package/src/components/Thread/ThreadMessage.tsx +0 -187
  324. package/src/components/Thread/ToolInvocations.tsx +0 -93
  325. package/src/components/Thread/index.ts +0 -6
  326. package/src/components/Thread/reducer.ts +0 -52
  327. package/src/components/Toolbox/Toolbox.stories.tsx +0 -65
  328. package/src/components/Toolbox/Toolbox.tsx +0 -117
  329. package/src/components/Toolbox/index.ts +0 -5
  330. package/src/hooks/email.ts +0 -49
  331. package/src/hooks/index.ts +0 -11
  332. package/src/hooks/invocation-handler.ts +0 -109
  333. package/src/hooks/processor.test.ts +0 -15
  334. package/src/hooks/processor.ts +0 -219
  335. package/src/hooks/useChatProcessor.tsx +0 -77
  336. package/src/hooks/useLocalTriggerManager.ts +0 -82
  337. package/src/hooks/useMessageQueue.ts +0 -23
  338. package/src/hooks/useServices.ts +0 -28
  339. package/src/hooks/useTextInputEvents.ts +0 -49
  340. package/src/testing/test-services.ts +0 -131
  341. package/src/tools/function.ts +0 -47
  342. package/src/tools/index.ts +0 -6
  343. package/src/tools/openapi.test.ts +0 -224
  344. package/src/tools/openapi.ts +0 -331
  345. package/src/types/chat.ts +0 -11
  346. package/src/types/index.ts +0 -8
  347. package/src/types/service.ts +0 -102
  348. package/src/types/template.ts +0 -34
  349. package/src/types/types.ts +0 -41
  350. package/src/typings.d.ts +0 -9
@@ -1,82 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { useEffect, useState } from 'react';
6
-
7
- import { Mutex } from '@dxos/async';
8
- import { Context } from '@dxos/context';
9
- import { createSubscriptionTrigger, type TriggerFactory } from '@dxos/functions';
10
- import { FunctionTrigger } from '@dxos/functions';
11
- import { invariant } from '@dxos/invariant';
12
- import { log } from '@dxos/log';
13
- import { useClient } from '@dxos/react-client';
14
- import { Filter, type Space, useQuery } from '@dxos/react-client/echo';
15
-
16
- import { invokeFunction } from './invocation-handler';
17
-
18
- const registerTriggersMutex = new Mutex();
19
-
20
- export const useLocalTriggerManager = (space: Space) => {
21
- const client = useClient();
22
-
23
- // TODO(burdon): Factor out, creating context for plugin (runs outside of component).
24
- const [registry] = useState(new Map<string, Context>());
25
- const triggers = useQuery(space, Filter.schema(FunctionTrigger));
26
- useEffect(() => {
27
- setTimeout(async () => {
28
- // Mark-and-sweep removing disabled triggers.
29
- await registerTriggersMutex.executeSynchronized(async () => {
30
- const deprecated = new Set(Array.from(registry.keys()));
31
- log('triggers', {
32
- deprecated,
33
- all: triggers.map((t) => t.id),
34
- enabled: triggers.filter((t) => t.enabled).map((t) => t.id),
35
- });
36
-
37
- for (const trigger of triggers) {
38
- if (trigger.enabled) {
39
- if (registry.has(trigger.id)) {
40
- deprecated.delete(trigger.id);
41
- continue;
42
- }
43
- log.info('activating trigger', trigger.id);
44
-
45
- const ctx = new Context();
46
- registry.set(trigger.id, ctx);
47
- const triggerSpec = trigger.spec;
48
- invariant(triggerSpec);
49
-
50
- let triggerFactory: TriggerFactory<any>;
51
- if (triggerSpec.type === 'subscription') {
52
- triggerFactory = createSubscriptionTrigger;
53
- } else {
54
- log.info('unsupported trigger', { type: triggerSpec.type });
55
- continue;
56
- }
57
-
58
- await triggerFactory(ctx, space, trigger.spec, (data: any) => {
59
- return invokeFunction(client, space, trigger, data);
60
- });
61
- }
62
- }
63
-
64
- for (const id of deprecated) {
65
- const ctx = registry.get(id);
66
- if (ctx) {
67
- await ctx.dispose();
68
- registry.delete(id);
69
- }
70
- }
71
- });
72
- });
73
- }, [JSON.stringify(triggers)]);
74
-
75
- useEffect(() => {
76
- return () => {
77
- for (const ctx of registry.values()) {
78
- void ctx.dispose();
79
- }
80
- };
81
- }, []);
82
- };
@@ -1,23 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { useMemo } from 'react';
6
-
7
- import { type Message } from '@dxos/artifact';
8
- import { DXN, QueueSubspaceTags } from '@dxos/keys';
9
- import { getSpace } from '@dxos/react-client/echo';
10
- import { useEdgeClient, useQueue } from '@dxos/react-edge-client';
11
-
12
- import { type AIChatType } from '../types';
13
-
14
- export const useMessageQueue = (chat?: AIChatType) => {
15
- const space = getSpace(chat);
16
- const queueDxn = useMemo(() => {
17
- const dxn = space && chat?.queue.dxn;
18
- return dxn ? new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, space.id, dxn.parts.at(-1)!]) : undefined;
19
- }, [space, chat?.queue.dxn]);
20
-
21
- const edgeClient = useEdgeClient();
22
- return useQueue<Message>(edgeClient, queueDxn);
23
- };
@@ -1,28 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { useEffect, useMemo, useState } from 'react';
6
-
7
- import { type Space } from '@dxos/client/echo';
8
-
9
- import { MockServiceRegistry } from '../testing';
10
- import { type ServiceType, type ServiceQuery } from '../types';
11
-
12
- /**
13
- * Retrieves matching services from the registry.
14
- */
15
- export const useServices = (space: Space, query?: ServiceQuery): ServiceType[] => {
16
- const registry = useMemo(() => new MockServiceRegistry(), []);
17
- const [services, setServices] = useState<ServiceType[]>([]);
18
- useEffect(() => {
19
- const t = setTimeout(async () => {
20
- const services = await registry.queryServices(query);
21
- setServices(services);
22
- });
23
-
24
- return () => clearTimeout(t);
25
- }, [query, registry]);
26
-
27
- return services;
28
- };
@@ -1,49 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { useState, useCallback, type KeyboardEventHandler, type ChangeEventHandler } from 'react';
6
-
7
- /**
8
- * Hook that handles text input events.
9
- */
10
- // TODO(burdon): Factor out.
11
- export const useTextInputEvents = ({
12
- onEnter,
13
- onEscape,
14
- }: {
15
- onEnter?: (text: string) => boolean | void;
16
- onEscape?: () => void;
17
- }) => {
18
- const [value, setValue] = useState('');
19
-
20
- const onKeyDown = useCallback<KeyboardEventHandler<HTMLInputElement>>(
21
- (ev) => {
22
- switch (ev.key) {
23
- case 'Escape': {
24
- onEscape?.();
25
- setValue('');
26
- break;
27
- }
28
-
29
- case 'Enter': {
30
- const value = (ev.target as HTMLInputElement).value.trim();
31
- if (value.length > 0) {
32
- const reset = onEnter?.(value);
33
- if (reset) {
34
- setValue('');
35
- }
36
- }
37
- break;
38
- }
39
- }
40
- },
41
- [onEnter, onEscape],
42
- );
43
-
44
- const onChange = useCallback<ChangeEventHandler<HTMLInputElement>>((ev) => {
45
- setValue(ev.target.value);
46
- }, []);
47
-
48
- return [{ value, onKeyDown, onChange }, setValue];
49
- };
@@ -1,131 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { createStatic } from '@dxos/echo-schema';
6
-
7
- import {
8
- type ApiAuthorization,
9
- type BaseServiceRegistry,
10
- type ServiceQuery,
11
- ServiceType,
12
- categoryIcons,
13
- } from '../types';
14
-
15
- export class MockServiceRegistry implements BaseServiceRegistry {
16
- async queryServices(query?: ServiceQuery): Promise<ServiceType[]> {
17
- return TEST_SERVICES;
18
- }
19
- }
20
-
21
- // TODO(burdon): Can we generalize credentials?
22
-
23
- const AMADEUS_AUTH: ApiAuthorization = {
24
- type: 'oauth',
25
- clientId: 'BOEnpLd1sMyKjAPGKYeAPFFy60u53QEG',
26
- clientSecret: 'n4qldSN7usvD57gm',
27
- tokenUrl: 'https://test.api.amadeus.com/v1/security/oauth2/token',
28
- grantType: 'client_credentials',
29
- };
30
-
31
- const VISUAL_CROSSING_CREDENTIALS: ApiAuthorization = {
32
- type: 'api-key',
33
- key: 'FDPRVS953KB4GQQLD25GRT975',
34
- placement: {
35
- type: 'query',
36
- name: 'key',
37
- },
38
- };
39
-
40
- // Registries:
41
- // - https://apis.guru
42
- // - https://rapidapi.com
43
- // - https://github.com/konfig-sdks/openapi-examples
44
- // - https://publicapis.io/?utm_source=chatgpt.com
45
-
46
- // Examples:
47
- // - https://petstore.swagger.io/v2/swagger.json (testing)
48
- // - https://lichess.org/api
49
- // - https://github.com/konfig-sdks/openapi-examples/tree/main/xkcd
50
- // - https://api.coindesk.com/v1/bpi/currentprice.json
51
- // - https://www.coingecko.com/en/api/documentation
52
-
53
- // TODO(burdon): Support yaml endpoints.
54
- // - e.g., https://github.com/konfig-sdks/openapi-examples/blob/main/xkcd/openapi.yaml
55
-
56
- const TEST_SERVICES: ServiceType[] = [
57
- createStatic(ServiceType, {
58
- serviceId: 'amadeus.com/service/FlightSearch',
59
- name: 'Amadeus Flight Search',
60
- description: 'Search for local and international flights.',
61
- category: 'travel',
62
- interfaces: [
63
- {
64
- kind: 'api',
65
- schemaUrl: 'https://api.apis.guru/v2/specs/amadeus.com/amadeus-flight-availabilities-search/1.0.2/swagger.json',
66
- authorization: AMADEUS_AUTH,
67
- },
68
- ],
69
- }),
70
-
71
- createStatic(ServiceType, {
72
- serviceId: 'amadeus.com/service/HotelSearch',
73
- name: 'Amadeus Hotel Search',
74
- description: 'Search for local and international hotels.',
75
- category: 'travel',
76
- interfaces: [
77
- {
78
- kind: 'api',
79
- schemaUrl: 'https://api.apis.guru/v2/specs/amadeus.com/amadeus-hotel-search/3.0.8/swagger.json',
80
- authorization: AMADEUS_AUTH,
81
- },
82
- ],
83
- }),
84
-
85
- createStatic(ServiceType, {
86
- serviceId: 'visualcrossing.com/service/Weather',
87
- name: 'Visual Crossing Weather',
88
- description: 'Search for global weather forecasts.',
89
- category: 'weather',
90
- interfaces: [
91
- {
92
- kind: 'api',
93
- schemaUrl: 'https://api.apis.guru/v2/specs/visualcrossing.com/weather/4.6/openapi.json',
94
- authorization: VISUAL_CROSSING_CREDENTIALS,
95
- },
96
- ],
97
- }),
98
-
99
- // TODO(burdon): Needs auth.
100
- createStatic(ServiceType, {
101
- serviceId: 'abstractapi.com/service/GeoLocation',
102
- name: 'Abstract GeoLocation',
103
- description: 'Get the location of any IP address.',
104
- category: 'geolocation',
105
- interfaces: [
106
- {
107
- kind: 'api',
108
- schemaUrl: 'https://api.apis.guru/v2/specs/abstractapi.com/geolocation/1.0.0/openapi.json',
109
- },
110
- ],
111
- }),
112
-
113
- //
114
- // Testing
115
- //
116
-
117
- ...Array.from({ length: 20 }, (_, i) =>
118
- createStatic(ServiceType, {
119
- serviceId: `example.com/service/test-${i}`,
120
- name: `Test ${i}`,
121
- description: `Test ${i}`,
122
- category: Object.keys(categoryIcons)[Math.floor(Math.random() * Object.keys(categoryIcons).length)],
123
- interfaces: [
124
- {
125
- kind: 'api',
126
- schemaUrl: 'https://petstore.swagger.io/v2/swagger.json',
127
- },
128
- ],
129
- }),
130
- ),
131
- ] as const;
@@ -1,47 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { defineTool, ToolResult } from '@dxos/artifact';
6
- import type { Tool } from '@dxos/artifact';
7
- import { toEffectSchema } from '@dxos/echo-schema';
8
- import { getInvocationUrl, getUserFunctionUrlInMetadata } from '@dxos/functions';
9
- import type { FunctionType } from '@dxos/functions';
10
- import { log } from '@dxos/log';
11
- import type { SpaceId } from '@dxos/react-client/echo';
12
- import { getMeta } from '@dxos/react-client/echo';
13
-
14
- export const covertFunctionToTool = (
15
- fn: FunctionType,
16
- edgeUrl: string,
17
- spaceId?: SpaceId | undefined,
18
- ): Tool | undefined => {
19
- if (!fn.description || !fn.inputSchema) {
20
- return undefined;
21
- }
22
-
23
- const existingFunctionUrl = getUserFunctionUrlInMetadata(getMeta(fn));
24
- if (!existingFunctionUrl) {
25
- return undefined;
26
- }
27
- const url = getInvocationUrl(existingFunctionUrl, edgeUrl, {
28
- spaceId,
29
- });
30
-
31
- return defineTool({
32
- name: fn.name,
33
- description: fn.description,
34
- schema: toEffectSchema(fn.inputSchema),
35
- execute: async (input) => {
36
- log.info('execute function tool', { name: fn.name, url, input });
37
- const response = await fetch(url, {
38
- method: 'POST',
39
- headers: {
40
- 'Content-Type': 'application/json',
41
- },
42
- body: JSON.stringify(input),
43
- });
44
- return ToolResult.Success(await response.text());
45
- },
46
- });
47
- };
@@ -1,6 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- export * from './function';
6
- export * from './openapi';
@@ -1,224 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { describe, expect, test } from 'vitest';
6
-
7
- import { AIServiceClientImpl } from '@dxos/assistant';
8
- import { AI_SERVICE_ENDPOINT } from '@dxos/assistant/testing';
9
- import { log } from '@dxos/log';
10
-
11
- import { createToolsFromApi, resolveAuthorization } from './openapi';
12
- import { ChatProcessor } from '../hooks';
13
- import type { ApiAuthorization } from '../types';
14
-
15
- describe.skip('openapi', () => {
16
- describe.skip('mapping', () => {
17
- test('amadeus flight availabilities', async () => {
18
- const tools = await createToolsFromApi(FLIGHT_SEARCH_API);
19
-
20
- log.info('tools', { tools });
21
- // for (const tool of tools) {
22
- // const schema = tool.parameters;
23
- // // log.info('schema', { schema });
24
- // }
25
- });
26
-
27
- test('amadeus hotel search', async () => {
28
- const tools = await createToolsFromApi(HOTEL_SEARCH_API);
29
- log.info('tools', { tools });
30
- });
31
-
32
- test('amadeus hotel name autocomplete', async () => {
33
- const tools = await createToolsFromApi(HOTEL_NAME_AUTOCOMPLETE_API);
34
- log.info('tools', { tools });
35
- });
36
-
37
- test('weather', async () => {
38
- const tools = await createToolsFromApi(WEATHER_API, { authorization: VISUAL_CROSSING_CREDENTIALS });
39
- log.info('tools', { tools });
40
- });
41
- });
42
-
43
- describe.skip('invoke tools', () => {
44
- test('amadeus hotel name autocomplete', async () => {
45
- const tools = await createToolsFromApi(HOTEL_NAME_AUTOCOMPLETE_API, { authorization: AMADEUS_AUTH });
46
-
47
- const result = await tools[0].execute!({
48
- keyword: 'William Vale Brooklyn',
49
- subType: ['HOTEL_LEISURE', 'HOTEL_GDS'],
50
- countryCode: 'US',
51
- });
52
-
53
- log.info('result', { result });
54
- });
55
-
56
- test('weather API', async () => {
57
- const tools = await createToolsFromApi(WEATHER_API, { authorization: VISUAL_CROSSING_CREDENTIALS });
58
- const forecastTool = tools.find((t) => t.name.includes('forecast'));
59
-
60
- const result = await forecastTool?.execute!({
61
- locations: 'Brooklyn, NY',
62
- aggregateHours: '24',
63
- });
64
-
65
- log.info('result', { result });
66
- });
67
- });
68
-
69
- describe.skip('AI uses tools', () => {
70
- test('amadeus flight availabilities', { timeout: 60_000 }, async () => {
71
- const tools = await createToolsFromApi(FLIGHT_SEARCH_API, {
72
- authorization: AMADEUS_AUTH,
73
- });
74
-
75
- const client = new AIServiceClientImpl({
76
- endpoint: AI_SERVICE_ENDPOINT.LOCAL,
77
- });
78
- const processor = new ChatProcessor(client, tools);
79
- const reply = await processor.request(
80
- `What is the cheapest flight from New York to Paris? going on ${new Date().toISOString()} and returning after a week. 1 adult traveler`,
81
- );
82
-
83
- log.info('reply', { reply });
84
- });
85
-
86
- // TODO(dmaretskyi): Doesn't work.
87
- test('amadeus hotel name autocomplete', { timeout: 60_000 }, async () => {
88
- const tools = await createToolsFromApi(HOTEL_NAME_AUTOCOMPLETE_API, { authorization: AMADEUS_AUTH });
89
-
90
- const client = new AIServiceClientImpl({
91
- endpoint: AI_SERVICE_ENDPOINT.LOCAL,
92
- });
93
- const processor = new ChatProcessor(client, tools);
94
- const reply = await processor.request('Find me the William Wale in Brooklyn New York');
95
-
96
- log.info('reply', { reply });
97
- });
98
-
99
- test.only('weather forecast', { timeout: 60_000 }, async () => {
100
- const tools = await createToolsFromApi(WEATHER_API, {
101
- authorization: VISUAL_CROSSING_CREDENTIALS,
102
- instructions: WEATHER_INSTRUCTIONS,
103
- });
104
-
105
- const client = new AIServiceClientImpl({
106
- endpoint: AI_SERVICE_ENDPOINT.LOCAL,
107
- });
108
- const processor = new ChatProcessor(client, tools);
109
- const reply = await processor.request(
110
- `Today's date is ${new Date().toISOString().split('T')[0]}. Give me weather forecast for Warsaw for next 5 days.`,
111
- );
112
-
113
- log.info('reply', { reply });
114
- });
115
- });
116
-
117
- describe.skip('invoke api directly', { timeout: 10_000 }, () => {
118
- test('amadeus flight availabilities', async () => {
119
- const response = await fetch('https://test.api.amadeus.com/v1/shopping/availability/flight-availabilities', {
120
- method: 'POST',
121
- headers: {
122
- accept: 'application/vnd.amadeus+json',
123
- 'X-HTTP-Method-Override': 'GET',
124
- 'Content-Type': 'application/vnd.amadeus+json',
125
- Authorization: await resolveAuthorization(AMADEUS_AUTH),
126
- },
127
- body: JSON.stringify({
128
- originDestinations: [
129
- {
130
- departureDateTime: {
131
- date: new Date().toISOString().split('T')[0],
132
- time: new Date().toTimeString().split(' ')[0],
133
- },
134
- destinationLocationCode: 'MAD',
135
- id: '1',
136
- originLocationCode: 'BOS',
137
- },
138
- ],
139
- sources: ['GDS'],
140
- travelers: [
141
- {
142
- id: '1',
143
- travelerType: 'ADULT',
144
- },
145
- ],
146
- }),
147
- });
148
-
149
- log.info('response', { status: response.status, body: await response.json() });
150
- expect(response.status).toBe(200);
151
- });
152
-
153
- test.only('amadeus hotel name autocomplete', async () => {
154
- const response = await fetch(
155
- 'https://test.api.amadeus.com/v1/reference-data/locations/hotel?keyword=PARI&subtype=HOTEL_LEISURE,HOTEL_GDS',
156
- {
157
- method: 'GET',
158
- headers: {
159
- // accept: 'application/vnd.amadeus+json',
160
- // 'X-HTTP-Method-Override': 'GET',
161
- Authorization: await resolveAuthorization(AMADEUS_AUTH),
162
- },
163
- },
164
- );
165
-
166
- log.info('response', { status: response.status, body: await response.json() });
167
- expect(response.status).toBe(200);
168
- });
169
- });
170
-
171
- describe.skip('rapidapi', () => {
172
- test('amadeus flight availabilities', async () => {
173
- const departureDate = new Date().toISOString().split('T')[0];
174
- const arrivalDate = new Date(new Date().getTime() + 7 * 24 * 60 * 60 * 1000).toISOString().split('T')[0];
175
-
176
- const url = `https://amadeus-api2.p.rapidapi.com/serpapi-flight-search?departure_id=PEK&arrival_id=AUS&outbound_date=${departureDate}&return_date=${arrivalDate}&currency=USD&hl=en`;
177
- const options = {
178
- method: 'GET',
179
- headers: {
180
- 'x-rapidapi-key': RAPID_API_CREDENTIALS.key,
181
- 'x-rapidapi-host': 'amadeus-api2.p.rapidapi.com',
182
- },
183
- };
184
-
185
- const response = await fetch(url, options);
186
- log.info('response', { status: response.status, body: await response.json() });
187
- expect(response.status).toBe(200);
188
- });
189
- });
190
- });
191
-
192
- const FLIGHT_SEARCH_API =
193
- 'https://api.apis.guru/v2/specs/amadeus.com/amadeus-flight-availabilities-search/1.0.2/swagger.json';
194
- const HOTEL_SEARCH_API = 'https://api.apis.guru/v2/specs/amadeus.com/amadeus-hotel-search/3.0.8/swagger.json';
195
- const HOTEL_NAME_AUTOCOMPLETE_API =
196
- 'https://api.apis.guru/v2/specs/amadeus.com/amadeus-hotel-name-autocomplete/1.0.3/swagger.json';
197
- const WEATHER_API = 'https://api.apis.guru/v2/specs/visualcrossing.com/weather/4.6/openapi.json';
198
-
199
- const WEATHER_INSTRUCTIONS = `
200
- If the user doesn't provide a date, use today's date.
201
- Make sure to provide the start and end dates when possible to reduce the amount of data returned.
202
- Use the tool that accepts the date parameters.
203
- `;
204
-
205
- const AMADEUS_AUTH: ApiAuthorization = {
206
- type: 'oauth',
207
- clientId: 'BOEnpLd1sMyKjAPGKYeAPFFy60u53QEG',
208
- clientSecret: 'n4qldSN7usvD57gm',
209
- tokenUrl: 'https://test.api.amadeus.com/v1/security/oauth2/token',
210
- grantType: 'client_credentials',
211
- };
212
-
213
- const VISUAL_CROSSING_CREDENTIALS: ApiAuthorization = {
214
- type: 'api-key',
215
- key: 'FDPRVS953KB4GQQLD25GRT975',
216
- placement: {
217
- type: 'query',
218
- name: 'key',
219
- },
220
- };
221
-
222
- const RAPID_API_CREDENTIALS = {
223
- key: '92271b6740msh32fd821d70f050dp16665bjsna69195c9e838',
224
- };