@oomol-lab/open-connector 1.6.5 → 1.8.0

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 (495) hide show
  1. package/README.md +4 -0
  2. package/assets/open-connector/catalog/apps/airtable.json +134 -0
  3. package/assets/open-connector/catalog/apps/aisa.json +6985 -319
  4. package/assets/open-connector/catalog/apps/baizhi_mcp.json +135 -0
  5. package/assets/open-connector/catalog/apps/cal.json +24 -6
  6. package/assets/open-connector/catalog/apps/discordbot.json +2888 -248
  7. package/assets/open-connector/catalog/apps/drawio_mcp.json +192 -0
  8. package/assets/open-connector/catalog/apps/enormail.json +411 -0
  9. package/assets/open-connector/catalog/apps/feishu_app_bot.json +158 -0
  10. package/assets/open-connector/catalog/apps/firecrawl.json +176 -32
  11. package/assets/open-connector/catalog/apps/framejet.json +273 -0
  12. package/assets/open-connector/catalog/apps/futunn.json +2967 -0
  13. package/assets/open-connector/catalog/apps/github.json +275 -0
  14. package/assets/open-connector/catalog/apps/gitlab.json +125 -0
  15. package/assets/open-connector/catalog/apps/gmail.json +376 -0
  16. package/assets/open-connector/catalog/apps/google_analytics.json +4 -1
  17. package/assets/open-connector/catalog/apps/google_bigquery.json +4 -1
  18. package/assets/open-connector/catalog/apps/google_search_console.json +4 -1
  19. package/assets/open-connector/catalog/apps/googlecalendar.json +210 -1
  20. package/assets/open-connector/catalog/apps/googlechat.json +694 -7
  21. package/assets/open-connector/catalog/apps/googledocs.json +4 -1
  22. package/assets/open-connector/catalog/apps/googledrive.json +479 -0
  23. package/assets/open-connector/catalog/apps/googlesheets.json +148 -1
  24. package/assets/open-connector/catalog/apps/granola.json +23 -0
  25. package/assets/open-connector/catalog/apps/hithink_finance.json +6 -3
  26. package/assets/open-connector/catalog/apps/indexed.json +1115 -0
  27. package/assets/open-connector/catalog/apps/keepa.json +3534 -987
  28. package/assets/open-connector/catalog/apps/linear.json +133 -0
  29. package/assets/open-connector/catalog/apps/linear_mcp.json +510 -0
  30. package/assets/open-connector/catalog/apps/moneyforward_mcp.json +1432 -0
  31. package/assets/open-connector/catalog/apps/notion.json +588 -1
  32. package/assets/open-connector/catalog/apps/notion_mcp.json +490 -0
  33. package/assets/open-connector/catalog/apps/odoo.json +619 -0
  34. package/assets/open-connector/catalog/apps/one_drive.json +185 -0
  35. package/assets/open-connector/catalog/apps/outlook.json +212 -8
  36. package/assets/open-connector/catalog/apps/outlook_calendar.json +23 -2
  37. package/assets/open-connector/catalog/apps/postiz.json +334 -0
  38. package/assets/open-connector/catalog/apps/proworkflow.json +529 -0
  39. package/assets/open-connector/catalog/apps/sellersprite_mcp.json +2 -1
  40. package/assets/open-connector/catalog/apps/shopify.json +282 -0
  41. package/assets/open-connector/catalog/apps/slack.json +405 -0
  42. package/assets/open-connector/catalog/apps/slackbot.json +214 -0
  43. package/assets/open-connector/catalog/apps/spotify.json +46 -43
  44. package/assets/open-connector/catalog/apps/stripe.json +96 -0
  45. package/assets/open-connector/catalog/apps/telegram.json +138 -0
  46. package/assets/open-connector/catalog/apps/tencent_docs.json +3 -0
  47. package/assets/open-connector/catalog/apps/weixin_store.json +543 -2
  48. package/assets/open-connector/catalog/apps/wisburg.json +1528 -0
  49. package/assets/open-connector/catalog/apps/woocommerce.json +127 -0
  50. package/assets/open-connector/catalog/apps/youtube.json +4 -1
  51. package/assets/open-connector/catalog/apps/zendesk.json +152 -0
  52. package/assets/open-connector/catalog/apps/zerotier.json +3319 -0
  53. package/assets/open-connector/catalog/apps-index.json +1 -1
  54. package/assets/open-connector/migrations/0014_saas_project.sql +55 -0
  55. package/assets/open-connector/migrations/0015_saas_cleanup_runtime.sql +8 -0
  56. package/assets/open-connector/migrations/0016_trigger_policy.sql +1 -0
  57. package/assets/open-connector/migrations/0017_trigger_subscriptions.sql +17 -0
  58. package/assets/open-connector/migrations/postgresql/0014_saas_project.sql +55 -0
  59. package/assets/open-connector/migrations/postgresql/0015_saas_cleanup_runtime.sql +8 -0
  60. package/assets/open-connector/migrations/postgresql/0016_trigger_policy.sql +1 -0
  61. package/assets/open-connector/migrations/postgresql/0017_trigger_subscriptions.sql +17 -0
  62. package/package.json +2 -2
  63. package/src/connection-service.d.ts +40 -7
  64. package/src/connection-service.js +60 -18
  65. package/src/core/action-policy.d.ts +8 -1
  66. package/src/core/action-policy.js +51 -0
  67. package/src/core/cast.d.ts +13 -0
  68. package/src/core/cast.js +18 -1
  69. package/src/core/guarded-fetch.d.ts +11 -3
  70. package/src/core/guarded-fetch.js +19 -7
  71. package/src/core/provider-scenarios.js +67 -13
  72. package/src/core/remote-http.d.ts +33 -0
  73. package/src/core/remote-http.js +104 -0
  74. package/src/core/request.d.ts +1 -0
  75. package/src/core/request.js +11 -1
  76. package/src/core/types.d.ts +5 -1
  77. package/src/marketplace/marketplace-service.d.ts +0 -1
  78. package/src/marketplace/marketplace-service.js +80 -92
  79. package/src/mcp.js +26 -9
  80. package/src/oauth/oauth-client-config-service.d.ts +16 -1
  81. package/src/oauth/oauth-client-config-service.js +59 -3
  82. package/src/oauth/oauth-flow-service.d.ts +14 -1
  83. package/src/oauth/oauth-flow-service.js +14 -6
  84. package/src/providers/17track/runtime.js +1 -1
  85. package/src/providers/action-contracts.generated.d.ts +20 -6
  86. package/src/providers/aifinmarket/runtime.js +1 -1
  87. package/src/providers/airtable/executors.d.ts +3 -0
  88. package/src/providers/airtable/executors.js +2 -0
  89. package/src/providers/airtable/trigger-on-record-changed.d.ts +2 -0
  90. package/src/providers/airtable/trigger-on-record-changed.definition.d.ts +4 -0
  91. package/src/providers/airtable/trigger-on-record-changed.definition.js +54 -0
  92. package/src/providers/airtable/trigger-on-record-changed.js +235 -0
  93. package/src/providers/aisa/executors.js +912 -50
  94. package/src/providers/aliyun_ack/runtime.js +1 -1
  95. package/src/providers/aliyun_sls/runtime.js +1 -1
  96. package/src/providers/app_store_server/runtime-helpers.js +1 -1
  97. package/src/providers/baizhi_mcp/actions.d.ts +2 -0
  98. package/src/providers/baizhi_mcp/actions.js +40 -0
  99. package/src/providers/baizhi_mcp/executors.d.ts +3 -0
  100. package/src/providers/baizhi_mcp/executors.js +102 -0
  101. package/src/providers/bazhuayu/runtime.js +2 -2
  102. package/src/providers/bilibili/runtime.js +2 -4
  103. package/src/providers/bilibili/upload.js +9 -7
  104. package/src/providers/cal/actions.js +5 -1
  105. package/src/providers/cloudflare_browser_rendering/executors.js +1 -1
  106. package/src/providers/cloudflare_dns/executors.js +1 -1
  107. package/src/providers/{cloudflare-current-user.js → cloudflare_dns/runtime-user.js} +2 -2
  108. package/src/providers/cloudflare_dns/runtime.d.ts +1 -1
  109. package/src/providers/cloudflare_dns/runtime.js +1 -1
  110. package/src/providers/cloudflare_r2/executors.js +1 -1
  111. package/src/providers/cloudflare_r2/runtime.d.ts +1 -1
  112. package/src/providers/cloudflare_r2/runtime.js +1 -1
  113. package/src/providers/cloudflare_worker/executors.js +1 -1
  114. package/src/providers/cloudflare_worker/runtime.d.ts +1 -1
  115. package/src/providers/cloudflare_worker/runtime.js +1 -1
  116. package/src/providers/dingtalk_mcp/runtime.js +1 -1
  117. package/src/providers/discordbot/executors.d.ts +0 -9
  118. package/src/providers/discordbot/executors.js +9 -101
  119. package/src/providers/discordbot/runtime-guilds.d.ts +3 -0
  120. package/src/providers/discordbot/runtime-guilds.js +464 -0
  121. package/src/providers/discordbot/runtime.d.ts +42 -0
  122. package/src/providers/discordbot/runtime.js +124 -0
  123. package/src/providers/drawio_mcp/executors.d.ts +3 -0
  124. package/src/providers/drawio_mcp/executors.js +19 -0
  125. package/src/providers/drawio_mcp/runtime.d.ts +8 -0
  126. package/src/providers/drawio_mcp/runtime.js +175 -0
  127. package/src/providers/enormail/executors.d.ts +4 -0
  128. package/src/providers/enormail/executors.js +97 -0
  129. package/src/providers/fastmoss_mcp/executors.js +2 -2
  130. package/src/providers/feishu_app_bot/executors.d.ts +3 -0
  131. package/src/providers/feishu_app_bot/executors.js +2 -0
  132. package/src/providers/feishu_app_bot/trigger-config.d.ts +1 -0
  133. package/src/providers/feishu_app_bot/trigger-config.js +10 -0
  134. package/src/providers/feishu_app_bot/trigger-on-event.d.ts +2 -0
  135. package/src/providers/feishu_app_bot/trigger-on-event.definition.d.ts +4 -0
  136. package/src/providers/feishu_app_bot/trigger-on-event.definition.js +63 -0
  137. package/src/providers/feishu_app_bot/trigger-on-event.js +29 -0
  138. package/src/providers/feishu_app_bot/trigger-subscriptions.d.ts +5 -0
  139. package/src/providers/feishu_app_bot/trigger-subscriptions.js +70 -0
  140. package/src/providers/finchina/executors.js +1 -1
  141. package/src/providers/framejet/executors.d.ts +4 -0
  142. package/src/providers/framejet/executors.js +19 -0
  143. package/src/providers/framejet/runtime.d.ts +16 -0
  144. package/src/providers/framejet/runtime.js +148 -0
  145. package/src/providers/futunn/actions.d.ts +2 -0
  146. package/src/providers/futunn/actions.js +152 -0
  147. package/src/providers/futunn/actions.research.d.ts +2 -0
  148. package/src/providers/futunn/actions.research.js +423 -0
  149. package/src/providers/futunn/actions.trading.d.ts +2 -0
  150. package/src/providers/futunn/actions.trading.js +204 -0
  151. package/src/providers/futunn/executors.d.ts +3 -0
  152. package/src/providers/futunn/executors.js +24 -0
  153. package/src/providers/futunn/runtime-research.d.ts +3 -0
  154. package/src/providers/futunn/runtime-research.js +133 -0
  155. package/src/providers/futunn/runtime-trading.d.ts +3 -0
  156. package/src/providers/futunn/runtime-trading.js +39 -0
  157. package/src/providers/futunn/runtime.d.ts +2 -0
  158. package/src/providers/futunn/runtime.js +50 -0
  159. package/src/providers/futunn/transport.d.ts +11 -0
  160. package/src/providers/futunn/transport.js +76 -0
  161. package/src/providers/gildata/executors.js +1 -1
  162. package/src/providers/github/executors.d.ts +3 -0
  163. package/src/providers/github/executors.js +6 -0
  164. package/src/providers/github/trigger-on-repo-event.d.ts +2 -0
  165. package/src/providers/github/trigger-on-repo-event.definition.d.ts +4 -0
  166. package/src/providers/github/trigger-on-repo-event.definition.js +94 -0
  167. package/src/providers/github/trigger-on-repo-event.js +168 -0
  168. package/src/providers/github/trigger-watch-pull-request.d.ts +2 -0
  169. package/src/providers/github/trigger-watch-pull-request.definition.d.ts +4 -0
  170. package/src/providers/github/trigger-watch-pull-request.definition.js +49 -0
  171. package/src/providers/github/trigger-watch-pull-request.js +106 -0
  172. package/src/providers/gitlab/executors.d.ts +3 -0
  173. package/src/providers/gitlab/executors.js +2 -0
  174. package/src/providers/gitlab/trigger-on-project-event.d.ts +2 -0
  175. package/src/providers/gitlab/trigger-on-project-event.definition.d.ts +5 -0
  176. package/src/providers/gitlab/trigger-on-project-event.definition.js +63 -0
  177. package/src/providers/gitlab/trigger-on-project-event.js +186 -0
  178. package/src/providers/gmail/executors.d.ts +3 -0
  179. package/src/providers/gmail/executors.js +5 -3
  180. package/src/providers/gmail/message.d.ts +6 -8
  181. package/src/providers/gmail/message.js +4 -0
  182. package/src/providers/gmail/scopes.d.ts +32 -0
  183. package/src/providers/gmail/scopes.js +37 -0
  184. package/src/providers/gmail/trigger-on-message-received.d.ts +2 -0
  185. package/src/providers/gmail/trigger-on-message-received.definition.d.ts +4 -0
  186. package/src/providers/gmail/trigger-on-message-received.definition.js +74 -0
  187. package/src/providers/gmail/trigger-on-message-received.js +232 -0
  188. package/src/providers/google_analytics/executors.js +2 -2
  189. package/src/providers/google_analytics/scopes.js +6 -1
  190. package/src/providers/google_bigquery/executors.js +2 -2
  191. package/src/providers/google_bigquery/scopes.js +2 -0
  192. package/src/providers/google_search_console/executors.js +2 -2
  193. package/src/providers/google_search_console/scopes.js +2 -0
  194. package/src/providers/googleads/executors.js +1 -1
  195. package/src/providers/googleads/scopes.d.ts +1 -3
  196. package/src/providers/googleads/scopes.js +2 -4
  197. package/src/providers/googlecalendar/executors.d.ts +3 -0
  198. package/src/providers/googlecalendar/executors.js +3 -1
  199. package/src/providers/googlecalendar/runtime-shared.js +2 -2
  200. package/src/providers/googlecalendar/scopes.js +2 -0
  201. package/src/providers/googlecalendar/trigger-on-event-changed.d.ts +2 -0
  202. package/src/providers/googlecalendar/trigger-on-event-changed.definition.d.ts +4 -0
  203. package/src/providers/googlecalendar/trigger-on-event-changed.definition.js +74 -0
  204. package/src/providers/googlecalendar/trigger-on-event-changed.js +233 -0
  205. package/src/providers/googlechat/executors.d.ts +1 -3
  206. package/src/providers/googlechat/executors.js +219 -28
  207. package/src/providers/googlechat/members.d.ts +55 -0
  208. package/src/providers/googlechat/members.js +293 -0
  209. package/src/providers/googlechat/runtime.d.ts +16 -0
  210. package/src/providers/googlechat/runtime.js +25 -0
  211. package/src/providers/googlechat/scopes.d.ts +22 -3
  212. package/src/providers/googlechat/scopes.js +30 -7
  213. package/src/providers/googledocs/executors.js +1 -1
  214. package/src/providers/googledrive/executors.d.ts +3 -0
  215. package/src/providers/googledrive/executors.js +9 -2
  216. package/src/providers/{google-auth.d.ts → googledrive/runtime-auth.d.ts} +2 -2
  217. package/src/providers/{google-auth.js → googledrive/runtime-auth.js} +3 -3
  218. package/src/providers/googledrive/runtime-collaboration.js +1 -1
  219. package/src/providers/{google-runtime.d.ts → googledrive/runtime-request.d.ts} +1 -1
  220. package/src/providers/{google-runtime.js → googledrive/runtime-request.js} +2 -2
  221. package/src/providers/googledrive/trigger-changes.d.ts +12 -0
  222. package/src/providers/googledrive/trigger-changes.definition.d.ts +7 -0
  223. package/src/providers/googledrive/trigger-changes.definition.js +101 -0
  224. package/src/providers/googledrive/trigger-changes.js +452 -0
  225. package/src/providers/googledrive/trigger-on-file-change.d.ts +2 -0
  226. package/src/providers/googledrive/trigger-on-file-change.definition.d.ts +4 -0
  227. package/src/providers/googledrive/trigger-on-file-change.definition.js +77 -0
  228. package/src/providers/googledrive/trigger-on-file-change.js +258 -0
  229. package/src/providers/googleforms/executors.js +2 -2
  230. package/src/providers/googleforms/scopes.d.ts +0 -3
  231. package/src/providers/googleforms/scopes.js +2 -6
  232. package/src/providers/googlemeet/executors.js +2 -2
  233. package/src/providers/googlemeet/scopes.d.ts +0 -3
  234. package/src/providers/googlemeet/scopes.js +2 -6
  235. package/src/providers/googlesheets/executors.d.ts +3 -0
  236. package/src/providers/googlesheets/executors.js +3 -1
  237. package/src/providers/googlesheets/scopes.js +2 -0
  238. package/src/providers/googlesheets/trigger-on-row-added.d.ts +2 -0
  239. package/src/providers/googlesheets/trigger-on-row-added.definition.d.ts +4 -0
  240. package/src/providers/googlesheets/trigger-on-row-added.definition.js +54 -0
  241. package/src/providers/googlesheets/trigger-on-row-added.js +234 -0
  242. package/src/providers/googleslides/executors.js +2 -2
  243. package/src/providers/googleslides/scopes.d.ts +0 -3
  244. package/src/providers/googleslides/scopes.js +2 -6
  245. package/src/providers/googletasks/executors.js +2 -2
  246. package/src/providers/googletasks/scopes.d.ts +0 -3
  247. package/src/providers/googletasks/scopes.js +2 -6
  248. package/src/providers/granola/actions.js +2 -0
  249. package/src/providers/granola/runtime-mcp.js +2 -0
  250. package/src/providers/granola/runtime.js +2 -2
  251. package/src/providers/hithink_finance/runtime.js +1 -1
  252. package/src/providers/indexed/executors.d.ts +4 -0
  253. package/src/providers/indexed/executors.js +16 -0
  254. package/src/providers/indexed/runtime.d.ts +26 -0
  255. package/src/providers/indexed/runtime.js +129 -0
  256. package/src/providers/indiegogo/executors.js +1 -1
  257. package/src/providers/investoday_mcp/executors.js +2 -2
  258. package/src/providers/iyunbiao/runtime.js +2 -2
  259. package/src/providers/keepa/actions.d.ts +1 -1
  260. package/src/providers/keepa/actions.js +371 -149
  261. package/src/providers/keepa/deal-attributes.d.ts +1 -0
  262. package/src/providers/keepa/deal-attributes.js +26 -0
  263. package/src/providers/keepa/runtime.js +212 -18
  264. package/src/providers/kingdee/executors.js +1 -1
  265. package/src/providers/kingdee/runtime.js +2 -2
  266. package/src/providers/kuaidi100/runtime.js +1 -1
  267. package/src/providers/linear/executors.d.ts +3 -0
  268. package/src/providers/linear/executors.js +14 -9
  269. package/src/providers/linear/trigger-on-issue-changed.d.ts +2 -0
  270. package/src/providers/linear/trigger-on-issue-changed.definition.d.ts +5 -0
  271. package/src/providers/linear/trigger-on-issue-changed.definition.js +43 -0
  272. package/src/providers/linear/trigger-on-issue-changed.js +215 -0
  273. package/src/providers/linear_mcp/actions.d.ts +47 -0
  274. package/src/providers/linear_mcp/actions.js +102 -0
  275. package/src/providers/linear_mcp/endpoints.d.ts +3 -0
  276. package/src/providers/linear_mcp/endpoints.js +3 -0
  277. package/src/providers/linear_mcp/executors.d.ts +3 -0
  278. package/src/providers/linear_mcp/executors.js +9 -0
  279. package/src/providers/linear_mcp/runtime-mcp.d.ts +15 -0
  280. package/src/providers/linear_mcp/runtime-mcp.js +238 -0
  281. package/src/providers/lingxing_mcp/runtime.js +1 -1
  282. package/src/providers/mcdonalds_cn_mcp/runtime.js +1 -1
  283. package/src/providers/metabase/mcp-runtime.js +1 -1
  284. package/src/providers/moneyforward_mcp/executors.d.ts +3 -0
  285. package/src/providers/moneyforward_mcp/executors.js +11 -0
  286. package/src/providers/moneyforward_mcp/manifest.d.ts +31 -0
  287. package/src/providers/moneyforward_mcp/manifest.js +204 -0
  288. package/src/providers/moneyforward_mcp/runtime.d.ts +18 -0
  289. package/src/providers/moneyforward_mcp/runtime.js +296 -0
  290. package/src/providers/notion/executors.d.ts +3 -0
  291. package/src/providers/notion/executors.js +41 -3
  292. package/src/providers/notion/trigger-on-database-page-event.d.ts +2 -0
  293. package/src/providers/notion/trigger-on-database-page-event.definition.d.ts +4 -0
  294. package/src/providers/notion/trigger-on-database-page-event.definition.js +63 -0
  295. package/src/providers/notion/trigger-on-database-page-event.js +293 -0
  296. package/src/providers/notion_mcp/endpoints.d.ts +3 -0
  297. package/src/providers/notion_mcp/endpoints.js +3 -0
  298. package/src/providers/notion_mcp/executors.d.ts +3 -0
  299. package/src/providers/notion_mcp/executors.js +176 -0
  300. package/src/providers/notion_mcp/mcp-response.d.ts +86 -0
  301. package/src/providers/notion_mcp/mcp-response.js +314 -0
  302. package/src/providers/odoo/executors.d.ts +3 -0
  303. package/src/providers/odoo/executors.js +32 -0
  304. package/src/providers/odoo/runtime.d.ts +16 -0
  305. package/src/providers/odoo/runtime.js +140 -0
  306. package/src/providers/one_drive/executors.d.ts +3 -0
  307. package/src/providers/one_drive/executors.js +2 -0
  308. package/src/providers/one_drive/trigger-on-item-changed.d.ts +2 -0
  309. package/src/providers/one_drive/trigger-on-item-changed.definition.d.ts +4 -0
  310. package/src/providers/one_drive/trigger-on-item-changed.definition.js +63 -0
  311. package/src/providers/one_drive/trigger-on-item-changed.js +214 -0
  312. package/src/providers/outlook/executors.d.ts +3 -0
  313. package/src/providers/outlook/executors.js +29 -6
  314. package/src/providers/outlook/microsoft-graph.js +17 -6
  315. package/src/providers/outlook/trigger-on-message-received.d.ts +2 -0
  316. package/src/providers/outlook/trigger-on-message-received.definition.d.ts +4 -0
  317. package/src/providers/outlook/trigger-on-message-received.definition.js +93 -0
  318. package/src/providers/outlook/trigger-on-message-received.js +226 -0
  319. package/src/providers/outlook_calendar/executors.js +30 -7
  320. package/src/providers/patsnap_mcp/executors.js +2 -2
  321. package/src/providers/postiz/executors.d.ts +4 -0
  322. package/src/providers/postiz/executors.js +83 -0
  323. package/src/providers/provider-loader.d.ts +5 -0
  324. package/src/providers/provider-loader.js +4 -0
  325. package/src/providers/provider-runtime.d.ts +15 -0
  326. package/src/providers/provider-runtime.js +57 -4
  327. package/src/providers/proworkflow/executors.d.ts +4 -0
  328. package/src/providers/proworkflow/executors.js +135 -0
  329. package/src/providers/registry.generated.js +14 -0
  330. package/src/providers/scrape_creators/catalog.js +1 -1
  331. package/src/providers/scrape_creators/runtime.js +1 -1
  332. package/src/providers/sellersprite_mcp/executors.js +2 -2
  333. package/src/providers/sellersprite_mcp/official-actions.js +3 -2
  334. package/src/providers/sentry/runtime.js +6 -7
  335. package/src/providers/shopify/executors.d.ts +3 -0
  336. package/src/providers/shopify/executors.js +2 -0
  337. package/src/providers/shopify/trigger-on-shop-event.d.ts +2 -0
  338. package/src/providers/shopify/trigger-on-shop-event.definition.d.ts +4 -0
  339. package/src/providers/shopify/trigger-on-shop-event.definition.js +214 -0
  340. package/src/providers/shopify/trigger-on-shop-event.js +165 -0
  341. package/src/providers/slack/actions.js +52 -3
  342. package/src/providers/slack/executors.d.ts +3 -0
  343. package/src/providers/slack/executors.js +2 -0
  344. package/src/providers/slack/runtime.js +58 -21
  345. package/src/providers/slack/trigger-on-message-posted.d.ts +2 -0
  346. package/src/providers/slack/trigger-on-message-posted.definition.d.ts +4 -0
  347. package/src/providers/slack/trigger-on-message-posted.definition.js +80 -0
  348. package/src/providers/slack/trigger-on-message-posted.js +176 -0
  349. package/src/providers/slickdeals/runtime.js +1 -1
  350. package/src/providers/sorftime_mcp/executors.js +2 -2
  351. package/src/providers/spotify/runtime.js +15 -4
  352. package/src/providers/stripe/executors.d.ts +3 -0
  353. package/src/providers/stripe/executors.js +2 -0
  354. package/src/providers/stripe/trigger-on-event.d.ts +2 -0
  355. package/src/providers/stripe/trigger-on-event.definition.d.ts +4 -0
  356. package/src/providers/stripe/trigger-on-event.definition.js +43 -0
  357. package/src/providers/stripe/trigger-on-event.js +212 -0
  358. package/src/providers/telegram/executors.d.ts +3 -0
  359. package/src/providers/telegram/executors.js +2 -0
  360. package/src/providers/telegram/trigger-on-update.d.ts +2 -0
  361. package/src/providers/telegram/trigger-on-update.definition.d.ts +5 -0
  362. package/src/providers/telegram/trigger-on-update.definition.js +78 -0
  363. package/src/providers/telegram/trigger-on-update.js +141 -0
  364. package/src/providers/tikhub/bounded-response.d.ts +1 -1
  365. package/src/providers/tikhub/bounded-response.js +8 -34
  366. package/src/providers/tikhub/endpoint-catalog.js +1 -1
  367. package/src/providers/tikhub/runtime.js +2 -2
  368. package/src/providers/tongdaxin/executors.js +79 -15
  369. package/src/providers/uspto/executors.js +1 -1
  370. package/src/providers/waffo/executors.js +1 -1
  371. package/src/providers/waffo/runtime.js +1 -1
  372. package/src/providers/wecom_mcp/runtime.js +1 -1
  373. package/src/providers/weixin_store/access-token.d.ts +2 -1
  374. package/src/providers/weixin_store/access-token.js +15 -4
  375. package/src/providers/weixin_store/executors.js +97 -12
  376. package/src/providers/wisburg/executors.d.ts +4 -0
  377. package/src/providers/wisburg/executors.js +13 -0
  378. package/src/providers/wisburg/runtime.d.ts +12 -0
  379. package/src/providers/wisburg/runtime.js +133 -0
  380. package/src/providers/woocommerce/executors.d.ts +3 -0
  381. package/src/providers/woocommerce/executors.js +2 -0
  382. package/src/providers/woocommerce/trigger-on-store-event.d.ts +2 -0
  383. package/src/providers/woocommerce/trigger-on-store-event.definition.d.ts +4 -0
  384. package/src/providers/woocommerce/trigger-on-store-event.definition.js +55 -0
  385. package/src/providers/woocommerce/trigger-on-store-event.js +179 -0
  386. package/src/providers/xydc_mcp/executors.js +2 -2
  387. package/src/providers/youtube/executors.js +1 -1
  388. package/src/providers/youtube/runtime.js +1 -1
  389. package/src/providers/zendesk/executors.d.ts +3 -0
  390. package/src/providers/zendesk/executors.js +2 -0
  391. package/src/providers/zendesk/trigger-on-event.d.ts +2 -0
  392. package/src/providers/zendesk/trigger-on-event.definition.d.ts +5 -0
  393. package/src/providers/zendesk/trigger-on-event.definition.js +101 -0
  394. package/src/providers/zendesk/trigger-on-event.js +188 -0
  395. package/src/providers/zerotier/executors.d.ts +9 -0
  396. package/src/providers/zerotier/executors.js +629 -0
  397. package/src/providers/zerotier/runtime.d.ts +54 -0
  398. package/src/providers/zerotier/runtime.js +207 -0
  399. package/src/saas/saas-cleanup-service.d.ts +26 -0
  400. package/src/saas/saas-cleanup-service.js +124 -0
  401. package/src/saas/saas-client.d.ts +86 -0
  402. package/src/saas/saas-client.js +369 -0
  403. package/src/saas/saas-execution-service.d.ts +15 -0
  404. package/src/saas/saas-execution-service.js +21 -0
  405. package/src/saas/saas-oauth-service.d.ts +25 -0
  406. package/src/saas/saas-oauth-service.js +197 -0
  407. package/src/saas/saas-project-service.d.ts +61 -0
  408. package/src/saas/saas-project-service.js +211 -0
  409. package/src/server/actions/action-idempotency.d.ts +1 -0
  410. package/src/server/actions/action-idempotency.js +1 -0
  411. package/src/server/actions/action-runner.d.ts +7 -0
  412. package/src/server/actions/action-runner.js +43 -7
  413. package/src/server/actions/run-log-summary.js +9 -0
  414. package/src/server/api/auth.d.ts +1 -0
  415. package/src/server/api/auth.js +13 -2
  416. package/src/server/api/cache-policy.js +4 -1
  417. package/src/server/api/connection-input.d.ts +7 -1
  418. package/src/server/api/connection-input.js +7 -1
  419. package/src/server/api/connection-routes.d.ts +3 -1
  420. package/src/server/api/connection-routes.js +21 -3
  421. package/src/server/api/http-utils.d.ts +4 -3
  422. package/src/server/api/oauth-completion-page.d.ts +124 -0
  423. package/src/server/api/oauth-completion-page.js +113 -18
  424. package/src/server/api/openapi.js +123 -15
  425. package/src/server/api/policy-input.js +6 -0
  426. package/src/server/api/runtime-api.d.ts +18 -3
  427. package/src/server/api/runtime-api.js +36 -5
  428. package/src/server/api/saas-completion-page.d.ts +2 -0
  429. package/src/server/api/saas-completion-page.js +103 -0
  430. package/src/server/connect-app.d.ts +5 -0
  431. package/src/server/connect-app.js +50 -0
  432. package/src/server/connect-server.d.ts +12 -0
  433. package/src/server/connect-server.js +157 -15
  434. package/src/server/connector-runtime.d.ts +3 -1
  435. package/src/server/connector-runtime.js +5 -2
  436. package/src/server/files/transit-files.js +16 -7
  437. package/src/server/proxy/proxy-runner.d.ts +5 -1
  438. package/src/server/proxy/proxy-runner.js +72 -26
  439. package/src/server/storage/connection-request-store.d.ts +41 -1
  440. package/src/server/storage/connection-request-store.js +245 -20
  441. package/src/server/storage/connection-store.d.ts +16 -0
  442. package/src/server/storage/connection-store.js +119 -0
  443. package/src/server/storage/node-runtime-database.js +3 -3
  444. package/src/server/storage/{postgres-migrations.d.ts → postgres/migrations.d.ts} +2 -2
  445. package/src/server/storage/{postgres-migrations.js → postgres/migrations.js} +1 -1
  446. package/src/server/storage/postgres/runtime-store.d.ts +43 -0
  447. package/src/server/storage/{postgres-runtime-store.js → postgres/runtime-store.js} +59 -94
  448. package/src/server/storage/runtime-database.d.ts +4 -0
  449. package/src/server/storage/runtime-sql.d.ts +1 -1
  450. package/src/server/storage/runtime-sql.js +2 -1
  451. package/src/server/storage/runtime-store.d.ts +1 -0
  452. package/src/server/storage/runtime-token-service.d.ts +2 -0
  453. package/src/server/storage/runtime-token-service.js +3 -0
  454. package/src/server/storage/saas-project-store.d.ts +77 -0
  455. package/src/server/storage/saas-project-store.js +273 -0
  456. package/src/server/storage/{sqlite-runtime-store.d.ts → sqlite/runtime-store.d.ts} +21 -25
  457. package/src/server/storage/{sqlite-runtime-store.js → sqlite/runtime-store.js} +100 -115
  458. package/src/server/storage/trigger-store.d.ts +16 -0
  459. package/src/server/storage/trigger-store.js +96 -0
  460. package/src/triggers/common/config.d.ts +2 -0
  461. package/src/triggers/common/config.js +17 -0
  462. package/src/triggers/common/configOptions.d.ts +13 -0
  463. package/src/triggers/common/configOptions.js +1 -0
  464. package/src/triggers/common/encoding.d.ts +3 -0
  465. package/src/triggers/common/encoding.js +19 -0
  466. package/src/triggers/common/integration.d.ts +115 -0
  467. package/src/triggers/common/integration.js +31 -0
  468. package/src/triggers/common/json.d.ts +6 -0
  469. package/src/triggers/common/json.js +91 -0
  470. package/src/triggers/common/poll.d.ts +41 -0
  471. package/src/triggers/common/poll.js +15 -0
  472. package/src/triggers/common/proxy.d.ts +14 -0
  473. package/src/triggers/common/proxy.js +1 -0
  474. package/src/triggers/common/types.d.ts +42 -0
  475. package/src/triggers/common/types.js +1 -0
  476. package/src/triggers/maintenance.d.ts +40 -0
  477. package/src/triggers/maintenance.js +120 -0
  478. package/src/triggers/metadata.d.ts +8 -0
  479. package/src/triggers/metadata.js +1 -0
  480. package/src/triggers/request.d.ts +33 -0
  481. package/src/triggers/request.js +52 -0
  482. package/src/triggers/resources.d.ts +12 -0
  483. package/src/triggers/resources.js +121 -0
  484. package/src/triggers/signature.d.ts +4 -0
  485. package/src/triggers/signature.js +48 -0
  486. package/src/triggers/store.d.ts +29 -0
  487. package/src/triggers/store.js +1 -0
  488. package/src/triggers/subscriptions.d.ts +22 -0
  489. package/src/triggers/subscriptions.js +220 -0
  490. package/src/triggers/trigger-runner.d.ts +34 -0
  491. package/src/triggers/trigger-runner.js +169 -0
  492. package/src/providers/sentry/scopes.d.ts +0 -1
  493. package/src/providers/sentry/scopes.js +0 -7
  494. package/src/server/storage/postgres-runtime-store.d.ts +0 -39
  495. /package/src/providers/{cloudflare-current-user.d.ts → cloudflare_dns/runtime-user.d.ts} +0 -0
@@ -0,0 +1,619 @@
1
+ {
2
+ "service": "odoo",
3
+ "displayName": "Odoo",
4
+ "description": "Query and modify Odoo models through the legacy JSON-RPC API available in Odoo 14–19. JSON-2 and XML-RPC are not supported by this connector.",
5
+ "categories": [
6
+ "ERP",
7
+ "CRM"
8
+ ],
9
+ "authTypes": [
10
+ "custom_credential"
11
+ ],
12
+ "auth": [
13
+ {
14
+ "type": "custom_credential",
15
+ "fields": [
16
+ {
17
+ "key": "baseUrl",
18
+ "label": "Instance URL",
19
+ "inputType": "text",
20
+ "required": true,
21
+ "secret": false,
22
+ "placeholder": "https://mycompany.odoo.com",
23
+ "description": "Your Odoo instance URL, without /jsonrpc. HTTPS is required by default. A self-hosted runtime can enable OOMOL_CONNECT_ALLOW_PRIVATE_NETWORK to permit private instances and unencrypted HTTP. Use HTTP only on a trusted network; it transmits credentials and data in plaintext. Loopback and cloud metadata targets remain blocked."
24
+ },
25
+ {
26
+ "key": "database",
27
+ "label": "Database",
28
+ "inputType": "text",
29
+ "required": true,
30
+ "secret": false,
31
+ "placeholder": "mycompany",
32
+ "description": "The Odoo database name, not its display label."
33
+ },
34
+ {
35
+ "key": "username",
36
+ "label": "Username",
37
+ "inputType": "text",
38
+ "required": true,
39
+ "secret": false,
40
+ "placeholder": "user@example.com",
41
+ "description": "The login or email of the Odoo user whose access rights will apply."
42
+ },
43
+ {
44
+ "key": "password",
45
+ "label": "Password or API Key",
46
+ "inputType": "password",
47
+ "required": true,
48
+ "secret": true,
49
+ "description": "An Odoo password or API key from Preferences > Account Security. Odoo Online requires an API-enabled plan. Legacy RPC is deprecated since Odoo 19; see https://www.odoo.com/documentation/19.0/developer/reference/external_rpc_api.html."
50
+ }
51
+ ]
52
+ }
53
+ ],
54
+ "homepageUrl": "https://www.odoo.com",
55
+ "actions": [
56
+ {
57
+ "id": "odoo.create",
58
+ "service": "odoo",
59
+ "name": "create",
60
+ "description": "Create one record in an Odoo model. Relational commands may delete related records.",
61
+ "operationType": "destructive",
62
+ "requiredScopes": [],
63
+ "providerPermissions": [],
64
+ "inputSchema": {
65
+ "type": "object",
66
+ "properties": {
67
+ "model": {
68
+ "type": "string",
69
+ "minLength": 1,
70
+ "description": "Technical model name, such as res.partner or sale.order.",
71
+ "pattern": "\\S"
72
+ },
73
+ "values": {
74
+ "type": "object",
75
+ "additionalProperties": true,
76
+ "description": "Field values for the new record, including any relational command arrays."
77
+ },
78
+ "context": {
79
+ "type": "object",
80
+ "additionalProperties": true,
81
+ "description": "Odoo context, such as lang, tz, or allowed_company_ids."
82
+ }
83
+ },
84
+ "additionalProperties": false,
85
+ "required": [
86
+ "model",
87
+ "values"
88
+ ],
89
+ "description": "Record to create."
90
+ },
91
+ "outputSchema": {
92
+ "type": "object",
93
+ "properties": {
94
+ "id": {
95
+ "type": "integer",
96
+ "minimum": 1,
97
+ "description": "Created record ID."
98
+ }
99
+ },
100
+ "additionalProperties": false,
101
+ "required": [
102
+ "id"
103
+ ],
104
+ "description": "Created record."
105
+ }
106
+ },
107
+ {
108
+ "id": "odoo.execute_kw",
109
+ "service": "odoo",
110
+ "name": "execute_kw",
111
+ "description": "Call a public Odoo model method, including custom methods. The method may modify or delete data.",
112
+ "operationType": "destructive",
113
+ "requiredScopes": [],
114
+ "providerPermissions": [],
115
+ "inputSchema": {
116
+ "type": "object",
117
+ "properties": {
118
+ "model": {
119
+ "type": "string",
120
+ "minLength": 1,
121
+ "description": "Technical model name, such as res.partner or sale.order.",
122
+ "pattern": "\\S"
123
+ },
124
+ "method": {
125
+ "type": "string",
126
+ "minLength": 1,
127
+ "description": "Public model method name, such as action_confirm.",
128
+ "pattern": "\\S"
129
+ },
130
+ "args": {
131
+ "type": "array",
132
+ "items": {
133
+ "description": "Positional argument."
134
+ },
135
+ "description": "Positional arguments. For record methods, pass the record ID array as the first argument."
136
+ },
137
+ "kwargs": {
138
+ "type": "object",
139
+ "additionalProperties": true,
140
+ "description": "Keyword arguments, including context when needed."
141
+ }
142
+ },
143
+ "additionalProperties": false,
144
+ "required": [
145
+ "model",
146
+ "method"
147
+ ],
148
+ "description": "Model method and arguments."
149
+ },
150
+ "outputSchema": {
151
+ "type": "object",
152
+ "properties": {
153
+ "result": {
154
+ "description": "The JSON value returned by the method, without coercion."
155
+ }
156
+ },
157
+ "additionalProperties": false,
158
+ "required": [
159
+ "result"
160
+ ],
161
+ "description": "Model method result."
162
+ }
163
+ },
164
+ {
165
+ "id": "odoo.fields_get",
166
+ "service": "odoo",
167
+ "name": "fields_get",
168
+ "description": "Inspect field types and metadata for an Odoo model.",
169
+ "operationType": "read",
170
+ "requiredScopes": [],
171
+ "providerPermissions": [],
172
+ "inputSchema": {
173
+ "type": "object",
174
+ "properties": {
175
+ "model": {
176
+ "type": "string",
177
+ "minLength": 1,
178
+ "description": "Technical model name, such as res.partner or sale.order.",
179
+ "pattern": "\\S"
180
+ },
181
+ "fields": {
182
+ "type": "array",
183
+ "items": {
184
+ "type": "string",
185
+ "minLength": 1
186
+ },
187
+ "description": "Field names to return. Omit to use Odoo's default field selection."
188
+ },
189
+ "context": {
190
+ "type": "object",
191
+ "additionalProperties": true,
192
+ "description": "Odoo context, such as lang, tz, or allowed_company_ids."
193
+ },
194
+ "attributes": {
195
+ "type": "array",
196
+ "items": {
197
+ "type": "string",
198
+ "minLength": 1
199
+ },
200
+ "description": "Metadata attributes, such as string, type, help, required, or selection. Omit to return all attributes."
201
+ }
202
+ },
203
+ "additionalProperties": false,
204
+ "required": [
205
+ "model"
206
+ ],
207
+ "description": "Fields and metadata to inspect."
208
+ },
209
+ "outputSchema": {
210
+ "type": "object",
211
+ "properties": {
212
+ "fields": {
213
+ "type": "object",
214
+ "additionalProperties": {
215
+ "type": "object",
216
+ "additionalProperties": true,
217
+ "description": "Field metadata returned by Odoo."
218
+ }
219
+ }
220
+ },
221
+ "additionalProperties": false,
222
+ "required": [
223
+ "fields"
224
+ ],
225
+ "description": "Metadata keyed by field name."
226
+ }
227
+ },
228
+ {
229
+ "id": "odoo.read",
230
+ "service": "odoo",
231
+ "name": "read",
232
+ "description": "Read fields from specific Odoo records.",
233
+ "operationType": "read",
234
+ "requiredScopes": [],
235
+ "providerPermissions": [],
236
+ "inputSchema": {
237
+ "type": "object",
238
+ "properties": {
239
+ "model": {
240
+ "type": "string",
241
+ "minLength": 1,
242
+ "description": "Technical model name, such as res.partner or sale.order.",
243
+ "pattern": "\\S"
244
+ },
245
+ "ids": {
246
+ "type": "array",
247
+ "items": {
248
+ "type": "integer",
249
+ "minimum": 1,
250
+ "description": "Record ID."
251
+ },
252
+ "description": "IDs of the records to operate on.",
253
+ "minItems": 1
254
+ },
255
+ "fields": {
256
+ "type": "array",
257
+ "items": {
258
+ "type": "string",
259
+ "minLength": 1
260
+ },
261
+ "description": "Field names to return. Omit to use Odoo's default field selection."
262
+ },
263
+ "context": {
264
+ "type": "object",
265
+ "additionalProperties": true,
266
+ "description": "Odoo context, such as lang, tz, or allowed_company_ids."
267
+ }
268
+ },
269
+ "additionalProperties": false,
270
+ "required": [
271
+ "model",
272
+ "ids"
273
+ ],
274
+ "description": "Records and fields to read."
275
+ },
276
+ "outputSchema": {
277
+ "type": "object",
278
+ "properties": {
279
+ "records": {
280
+ "type": "array",
281
+ "items": {
282
+ "type": "object",
283
+ "additionalProperties": true,
284
+ "description": "An Odoo record. Relational fields retain Odoo's JSON representation."
285
+ }
286
+ }
287
+ },
288
+ "additionalProperties": false,
289
+ "required": [
290
+ "records"
291
+ ],
292
+ "description": "Matching records with model-specific fields."
293
+ }
294
+ },
295
+ {
296
+ "id": "odoo.search",
297
+ "service": "odoo",
298
+ "name": "search",
299
+ "description": "Find record IDs matching an Odoo domain.",
300
+ "operationType": "read",
301
+ "requiredScopes": [],
302
+ "providerPermissions": [],
303
+ "inputSchema": {
304
+ "type": "object",
305
+ "properties": {
306
+ "model": {
307
+ "type": "string",
308
+ "minLength": 1,
309
+ "description": "Technical model name, such as res.partner or sale.order.",
310
+ "pattern": "\\S"
311
+ },
312
+ "domain": {
313
+ "type": "array",
314
+ "items": {
315
+ "description": "A domain condition array or prefix operator: &, |, !."
316
+ },
317
+ "description": "Odoo domain in JSON form, for example [[\"is_company\", \"=\", true]]. Use [] to match all records."
318
+ },
319
+ "limit": {
320
+ "type": "integer",
321
+ "minimum": 1,
322
+ "description": "Maximum records to return. Defaults to 100.",
323
+ "default": 100
324
+ },
325
+ "offset": {
326
+ "type": "integer",
327
+ "minimum": 0,
328
+ "description": "Number of matching records to skip."
329
+ },
330
+ "order": {
331
+ "type": "string",
332
+ "minLength": 1,
333
+ "description": "Sort expression, such as name asc, id asc.",
334
+ "pattern": "\\S"
335
+ },
336
+ "context": {
337
+ "type": "object",
338
+ "additionalProperties": true,
339
+ "description": "Odoo context, such as lang, tz, or allowed_company_ids."
340
+ }
341
+ },
342
+ "additionalProperties": false,
343
+ "required": [
344
+ "model",
345
+ "domain"
346
+ ],
347
+ "description": "Search criteria."
348
+ },
349
+ "outputSchema": {
350
+ "type": "object",
351
+ "properties": {
352
+ "ids": {
353
+ "type": "array",
354
+ "items": {
355
+ "type": "integer",
356
+ "minimum": 1,
357
+ "description": "Record ID."
358
+ }
359
+ }
360
+ },
361
+ "additionalProperties": false,
362
+ "required": [
363
+ "ids"
364
+ ],
365
+ "description": "Matching record IDs."
366
+ }
367
+ },
368
+ {
369
+ "id": "odoo.search_count",
370
+ "service": "odoo",
371
+ "name": "search_count",
372
+ "description": "Count Odoo records matching a domain.",
373
+ "operationType": "read",
374
+ "requiredScopes": [],
375
+ "providerPermissions": [],
376
+ "inputSchema": {
377
+ "type": "object",
378
+ "properties": {
379
+ "model": {
380
+ "type": "string",
381
+ "minLength": 1,
382
+ "description": "Technical model name, such as res.partner or sale.order.",
383
+ "pattern": "\\S"
384
+ },
385
+ "domain": {
386
+ "type": "array",
387
+ "items": {
388
+ "description": "A domain condition array or prefix operator: &, |, !."
389
+ },
390
+ "description": "Odoo domain in JSON form, for example [[\"is_company\", \"=\", true]]. Use [] to match all records."
391
+ },
392
+ "context": {
393
+ "type": "object",
394
+ "additionalProperties": true,
395
+ "description": "Odoo context, such as lang, tz, or allowed_company_ids."
396
+ }
397
+ },
398
+ "additionalProperties": false,
399
+ "required": [
400
+ "model",
401
+ "domain"
402
+ ],
403
+ "description": "Records to count."
404
+ },
405
+ "outputSchema": {
406
+ "type": "object",
407
+ "properties": {
408
+ "count": {
409
+ "type": "integer",
410
+ "minimum": 0,
411
+ "description": "Record count."
412
+ }
413
+ },
414
+ "additionalProperties": false,
415
+ "required": [
416
+ "count"
417
+ ],
418
+ "description": "Number of matching records."
419
+ }
420
+ },
421
+ {
422
+ "id": "odoo.search_read",
423
+ "service": "odoo",
424
+ "name": "search_read",
425
+ "description": "Search and read Odoo records in one ORM call.",
426
+ "operationType": "read",
427
+ "requiredScopes": [],
428
+ "providerPermissions": [],
429
+ "inputSchema": {
430
+ "type": "object",
431
+ "properties": {
432
+ "model": {
433
+ "type": "string",
434
+ "minLength": 1,
435
+ "description": "Technical model name, such as res.partner or sale.order.",
436
+ "pattern": "\\S"
437
+ },
438
+ "domain": {
439
+ "type": "array",
440
+ "items": {
441
+ "description": "A domain condition array or prefix operator: &, |, !."
442
+ },
443
+ "description": "Odoo domain in JSON form, for example [[\"is_company\", \"=\", true]]. Use [] to match all records."
444
+ },
445
+ "fields": {
446
+ "type": "array",
447
+ "items": {
448
+ "type": "string",
449
+ "minLength": 1
450
+ },
451
+ "description": "Field names to return. Omit to use Odoo's default field selection."
452
+ },
453
+ "limit": {
454
+ "type": "integer",
455
+ "minimum": 1,
456
+ "description": "Maximum records to return. Defaults to 100.",
457
+ "default": 100
458
+ },
459
+ "offset": {
460
+ "type": "integer",
461
+ "minimum": 0,
462
+ "description": "Number of matching records to skip."
463
+ },
464
+ "order": {
465
+ "type": "string",
466
+ "minLength": 1,
467
+ "description": "Sort expression, such as name asc, id asc.",
468
+ "pattern": "\\S"
469
+ },
470
+ "context": {
471
+ "type": "object",
472
+ "additionalProperties": true,
473
+ "description": "Odoo context, such as lang, tz, or allowed_company_ids."
474
+ }
475
+ },
476
+ "additionalProperties": false,
477
+ "required": [
478
+ "model",
479
+ "domain"
480
+ ],
481
+ "description": "Search criteria and fields to return."
482
+ },
483
+ "outputSchema": {
484
+ "type": "object",
485
+ "properties": {
486
+ "records": {
487
+ "type": "array",
488
+ "items": {
489
+ "type": "object",
490
+ "additionalProperties": true,
491
+ "description": "An Odoo record. Relational fields retain Odoo's JSON representation."
492
+ }
493
+ }
494
+ },
495
+ "additionalProperties": false,
496
+ "required": [
497
+ "records"
498
+ ],
499
+ "description": "Matching records with model-specific fields."
500
+ }
501
+ },
502
+ {
503
+ "id": "odoo.unlink",
504
+ "service": "odoo",
505
+ "name": "unlink",
506
+ "description": "Delete one or more Odoo records.",
507
+ "operationType": "destructive",
508
+ "requiredScopes": [],
509
+ "providerPermissions": [],
510
+ "inputSchema": {
511
+ "type": "object",
512
+ "properties": {
513
+ "model": {
514
+ "type": "string",
515
+ "minLength": 1,
516
+ "description": "Technical model name, such as res.partner or sale.order.",
517
+ "pattern": "\\S"
518
+ },
519
+ "ids": {
520
+ "type": "array",
521
+ "items": {
522
+ "type": "integer",
523
+ "minimum": 1,
524
+ "description": "Record ID."
525
+ },
526
+ "description": "IDs of the records to operate on.",
527
+ "minItems": 1
528
+ },
529
+ "context": {
530
+ "type": "object",
531
+ "additionalProperties": true,
532
+ "description": "Odoo context, such as lang, tz, or allowed_company_ids."
533
+ }
534
+ },
535
+ "additionalProperties": false,
536
+ "required": [
537
+ "model",
538
+ "ids"
539
+ ],
540
+ "description": "Records to delete."
541
+ },
542
+ "outputSchema": {
543
+ "type": "object",
544
+ "properties": {
545
+ "success": {
546
+ "type": "boolean",
547
+ "description": "Whether Odoo reported success."
548
+ }
549
+ },
550
+ "additionalProperties": false,
551
+ "required": [
552
+ "success"
553
+ ],
554
+ "description": "Deletion result."
555
+ }
556
+ },
557
+ {
558
+ "id": "odoo.write",
559
+ "service": "odoo",
560
+ "name": "write",
561
+ "description": "Update fields on one or more Odoo records. Relational commands may delete related records.",
562
+ "operationType": "destructive",
563
+ "requiredScopes": [],
564
+ "providerPermissions": [],
565
+ "inputSchema": {
566
+ "type": "object",
567
+ "properties": {
568
+ "model": {
569
+ "type": "string",
570
+ "minLength": 1,
571
+ "description": "Technical model name, such as res.partner or sale.order.",
572
+ "pattern": "\\S"
573
+ },
574
+ "ids": {
575
+ "type": "array",
576
+ "items": {
577
+ "type": "integer",
578
+ "minimum": 1,
579
+ "description": "Record ID."
580
+ },
581
+ "description": "IDs of the records to operate on.",
582
+ "minItems": 1
583
+ },
584
+ "values": {
585
+ "type": "object",
586
+ "additionalProperties": true,
587
+ "description": "Field values to update, including any relational command arrays."
588
+ },
589
+ "context": {
590
+ "type": "object",
591
+ "additionalProperties": true,
592
+ "description": "Odoo context, such as lang, tz, or allowed_company_ids."
593
+ }
594
+ },
595
+ "additionalProperties": false,
596
+ "required": [
597
+ "model",
598
+ "ids",
599
+ "values"
600
+ ],
601
+ "description": "Records and values to update."
602
+ },
603
+ "outputSchema": {
604
+ "type": "object",
605
+ "properties": {
606
+ "success": {
607
+ "type": "boolean",
608
+ "description": "Whether Odoo reported success."
609
+ }
610
+ },
611
+ "additionalProperties": false,
612
+ "required": [
613
+ "success"
614
+ ],
615
+ "description": "Update result."
616
+ }
617
+ }
618
+ ]
619
+ }