@oomol-lab/open-connector 1.7.0 → 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 (288) 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 +916 -76
  4. package/assets/open-connector/catalog/apps/cal.json +24 -6
  5. package/assets/open-connector/catalog/apps/discordbot.json +2 -2
  6. package/assets/open-connector/catalog/apps/enormail.json +411 -0
  7. package/assets/open-connector/catalog/apps/feishu_app_bot.json +158 -0
  8. package/assets/open-connector/catalog/apps/github.json +275 -0
  9. package/assets/open-connector/catalog/apps/gitlab.json +125 -0
  10. package/assets/open-connector/catalog/apps/gmail.json +151 -0
  11. package/assets/open-connector/catalog/apps/googlecalendar.json +206 -0
  12. package/assets/open-connector/catalog/apps/googledrive.json +479 -0
  13. package/assets/open-connector/catalog/apps/googlesheets.json +144 -0
  14. package/assets/open-connector/catalog/apps/hithink_finance.json +6 -3
  15. package/assets/open-connector/catalog/apps/indexed.json +1115 -0
  16. package/assets/open-connector/catalog/apps/linear.json +116 -0
  17. package/assets/open-connector/catalog/apps/notion.json +142 -0
  18. package/assets/open-connector/catalog/apps/one_drive.json +185 -0
  19. package/assets/open-connector/catalog/apps/outlook.json +182 -0
  20. package/assets/open-connector/catalog/apps/shopify.json +282 -0
  21. package/assets/open-connector/catalog/apps/slack.json +182 -0
  22. package/assets/open-connector/catalog/apps/spotify.json +46 -43
  23. package/assets/open-connector/catalog/apps/stripe.json +96 -0
  24. package/assets/open-connector/catalog/apps/telegram.json +138 -0
  25. package/assets/open-connector/catalog/apps/weixin_store.json +543 -2
  26. package/assets/open-connector/catalog/apps/woocommerce.json +127 -0
  27. package/assets/open-connector/catalog/apps/zendesk.json +152 -0
  28. package/assets/open-connector/catalog/apps/zerotier.json +9 -9
  29. package/assets/open-connector/catalog/apps-index.json +1 -1
  30. package/assets/open-connector/migrations/0014_saas_project.sql +55 -0
  31. package/assets/open-connector/migrations/0015_saas_cleanup_runtime.sql +8 -0
  32. package/assets/open-connector/migrations/0016_trigger_policy.sql +1 -0
  33. package/assets/open-connector/migrations/0017_trigger_subscriptions.sql +17 -0
  34. package/assets/open-connector/migrations/postgresql/0014_saas_project.sql +55 -0
  35. package/assets/open-connector/migrations/postgresql/0015_saas_cleanup_runtime.sql +8 -0
  36. package/assets/open-connector/migrations/postgresql/0016_trigger_policy.sql +1 -0
  37. package/assets/open-connector/migrations/postgresql/0017_trigger_subscriptions.sql +17 -0
  38. package/package.json +2 -2
  39. package/src/connection-service.d.ts +40 -7
  40. package/src/connection-service.js +60 -18
  41. package/src/core/action-policy.d.ts +8 -1
  42. package/src/core/action-policy.js +51 -0
  43. package/src/core/cast.d.ts +3 -0
  44. package/src/core/cast.js +4 -1
  45. package/src/core/guarded-fetch.d.ts +5 -0
  46. package/src/core/guarded-fetch.js +13 -4
  47. package/src/core/remote-http.d.ts +33 -0
  48. package/src/core/remote-http.js +104 -0
  49. package/src/core/request.d.ts +1 -0
  50. package/src/core/request.js +7 -0
  51. package/src/core/types.d.ts +4 -0
  52. package/src/marketplace/marketplace-service.d.ts +0 -1
  53. package/src/marketplace/marketplace-service.js +80 -92
  54. package/src/mcp.js +19 -5
  55. package/src/oauth/oauth-flow-service.d.ts +8 -1
  56. package/src/oauth/oauth-flow-service.js +10 -4
  57. package/src/providers/action-contracts.generated.d.ts +4 -2
  58. package/src/providers/airtable/executors.d.ts +3 -0
  59. package/src/providers/airtable/executors.js +2 -0
  60. package/src/providers/airtable/trigger-on-record-changed.d.ts +2 -0
  61. package/src/providers/airtable/trigger-on-record-changed.definition.d.ts +4 -0
  62. package/src/providers/airtable/trigger-on-record-changed.definition.js +54 -0
  63. package/src/providers/airtable/trigger-on-record-changed.js +235 -0
  64. package/src/providers/aisa/executors.js +196 -22
  65. package/src/providers/cal/actions.js +5 -1
  66. package/src/providers/enormail/executors.d.ts +4 -0
  67. package/src/providers/enormail/executors.js +97 -0
  68. package/src/providers/feishu_app_bot/executors.d.ts +3 -0
  69. package/src/providers/feishu_app_bot/executors.js +2 -0
  70. package/src/providers/feishu_app_bot/trigger-config.d.ts +1 -0
  71. package/src/providers/feishu_app_bot/trigger-config.js +10 -0
  72. package/src/providers/feishu_app_bot/trigger-on-event.d.ts +2 -0
  73. package/src/providers/feishu_app_bot/trigger-on-event.definition.d.ts +4 -0
  74. package/src/providers/feishu_app_bot/trigger-on-event.definition.js +63 -0
  75. package/src/providers/feishu_app_bot/trigger-on-event.js +29 -0
  76. package/src/providers/feishu_app_bot/trigger-subscriptions.d.ts +5 -0
  77. package/src/providers/feishu_app_bot/trigger-subscriptions.js +70 -0
  78. package/src/providers/github/executors.d.ts +3 -0
  79. package/src/providers/github/executors.js +6 -0
  80. package/src/providers/github/trigger-on-repo-event.d.ts +2 -0
  81. package/src/providers/github/trigger-on-repo-event.definition.d.ts +4 -0
  82. package/src/providers/github/trigger-on-repo-event.definition.js +94 -0
  83. package/src/providers/github/trigger-on-repo-event.js +168 -0
  84. package/src/providers/github/trigger-watch-pull-request.d.ts +2 -0
  85. package/src/providers/github/trigger-watch-pull-request.definition.d.ts +4 -0
  86. package/src/providers/github/trigger-watch-pull-request.definition.js +49 -0
  87. package/src/providers/github/trigger-watch-pull-request.js +106 -0
  88. package/src/providers/gitlab/executors.d.ts +3 -0
  89. package/src/providers/gitlab/executors.js +2 -0
  90. package/src/providers/gitlab/trigger-on-project-event.d.ts +2 -0
  91. package/src/providers/gitlab/trigger-on-project-event.definition.d.ts +5 -0
  92. package/src/providers/gitlab/trigger-on-project-event.definition.js +63 -0
  93. package/src/providers/gitlab/trigger-on-project-event.js +186 -0
  94. package/src/providers/gmail/executors.d.ts +3 -0
  95. package/src/providers/gmail/executors.js +2 -0
  96. package/src/providers/gmail/trigger-on-message-received.d.ts +2 -0
  97. package/src/providers/gmail/trigger-on-message-received.definition.d.ts +4 -0
  98. package/src/providers/gmail/trigger-on-message-received.definition.js +74 -0
  99. package/src/providers/gmail/trigger-on-message-received.js +232 -0
  100. package/src/providers/googlecalendar/executors.d.ts +3 -0
  101. package/src/providers/googlecalendar/executors.js +2 -0
  102. package/src/providers/googlecalendar/trigger-on-event-changed.d.ts +2 -0
  103. package/src/providers/googlecalendar/trigger-on-event-changed.definition.d.ts +4 -0
  104. package/src/providers/googlecalendar/trigger-on-event-changed.definition.js +74 -0
  105. package/src/providers/googlecalendar/trigger-on-event-changed.js +233 -0
  106. package/src/providers/googledrive/executors.d.ts +3 -0
  107. package/src/providers/googledrive/executors.js +7 -0
  108. package/src/providers/googledrive/trigger-changes.d.ts +12 -0
  109. package/src/providers/googledrive/trigger-changes.definition.d.ts +7 -0
  110. package/src/providers/googledrive/trigger-changes.definition.js +101 -0
  111. package/src/providers/googledrive/trigger-changes.js +452 -0
  112. package/src/providers/googledrive/trigger-on-file-change.d.ts +2 -0
  113. package/src/providers/googledrive/trigger-on-file-change.definition.d.ts +4 -0
  114. package/src/providers/googledrive/trigger-on-file-change.definition.js +77 -0
  115. package/src/providers/googledrive/trigger-on-file-change.js +258 -0
  116. package/src/providers/googlesheets/executors.d.ts +3 -0
  117. package/src/providers/googlesheets/executors.js +2 -0
  118. package/src/providers/googlesheets/trigger-on-row-added.d.ts +2 -0
  119. package/src/providers/googlesheets/trigger-on-row-added.definition.d.ts +4 -0
  120. package/src/providers/googlesheets/trigger-on-row-added.definition.js +54 -0
  121. package/src/providers/googlesheets/trigger-on-row-added.js +234 -0
  122. package/src/providers/hithink_finance/runtime.js +1 -1
  123. package/src/providers/indexed/executors.d.ts +4 -0
  124. package/src/providers/indexed/executors.js +16 -0
  125. package/src/providers/indexed/runtime.d.ts +26 -0
  126. package/src/providers/indexed/runtime.js +129 -0
  127. package/src/providers/linear/executors.d.ts +3 -0
  128. package/src/providers/linear/executors.js +2 -0
  129. package/src/providers/linear/trigger-on-issue-changed.d.ts +2 -0
  130. package/src/providers/linear/trigger-on-issue-changed.definition.d.ts +5 -0
  131. package/src/providers/linear/trigger-on-issue-changed.definition.js +43 -0
  132. package/src/providers/linear/trigger-on-issue-changed.js +215 -0
  133. package/src/providers/notion/executors.d.ts +3 -0
  134. package/src/providers/notion/executors.js +2 -0
  135. package/src/providers/notion/trigger-on-database-page-event.d.ts +2 -0
  136. package/src/providers/notion/trigger-on-database-page-event.definition.d.ts +4 -0
  137. package/src/providers/notion/trigger-on-database-page-event.definition.js +63 -0
  138. package/src/providers/notion/trigger-on-database-page-event.js +293 -0
  139. package/src/providers/one_drive/executors.d.ts +3 -0
  140. package/src/providers/one_drive/executors.js +2 -0
  141. package/src/providers/one_drive/trigger-on-item-changed.d.ts +2 -0
  142. package/src/providers/one_drive/trigger-on-item-changed.definition.d.ts +4 -0
  143. package/src/providers/one_drive/trigger-on-item-changed.definition.js +63 -0
  144. package/src/providers/one_drive/trigger-on-item-changed.js +214 -0
  145. package/src/providers/outlook/executors.d.ts +3 -0
  146. package/src/providers/outlook/executors.js +2 -0
  147. package/src/providers/outlook/trigger-on-message-received.d.ts +2 -0
  148. package/src/providers/outlook/trigger-on-message-received.definition.d.ts +4 -0
  149. package/src/providers/outlook/trigger-on-message-received.definition.js +93 -0
  150. package/src/providers/outlook/trigger-on-message-received.js +226 -0
  151. package/src/providers/outlook_calendar/executors.js +6 -0
  152. package/src/providers/provider-loader.d.ts +5 -0
  153. package/src/providers/provider-loader.js +4 -0
  154. package/src/providers/registry.generated.js +2 -0
  155. package/src/providers/shopify/executors.d.ts +3 -0
  156. package/src/providers/shopify/executors.js +2 -0
  157. package/src/providers/shopify/trigger-on-shop-event.d.ts +2 -0
  158. package/src/providers/shopify/trigger-on-shop-event.definition.d.ts +4 -0
  159. package/src/providers/shopify/trigger-on-shop-event.definition.js +214 -0
  160. package/src/providers/shopify/trigger-on-shop-event.js +165 -0
  161. package/src/providers/slack/executors.d.ts +3 -0
  162. package/src/providers/slack/executors.js +2 -0
  163. package/src/providers/slack/trigger-on-message-posted.d.ts +2 -0
  164. package/src/providers/slack/trigger-on-message-posted.definition.d.ts +4 -0
  165. package/src/providers/slack/trigger-on-message-posted.definition.js +80 -0
  166. package/src/providers/slack/trigger-on-message-posted.js +176 -0
  167. package/src/providers/spotify/runtime.js +15 -4
  168. package/src/providers/stripe/executors.d.ts +3 -0
  169. package/src/providers/stripe/executors.js +2 -0
  170. package/src/providers/stripe/trigger-on-event.d.ts +2 -0
  171. package/src/providers/stripe/trigger-on-event.definition.d.ts +4 -0
  172. package/src/providers/stripe/trigger-on-event.definition.js +43 -0
  173. package/src/providers/stripe/trigger-on-event.js +212 -0
  174. package/src/providers/telegram/executors.d.ts +3 -0
  175. package/src/providers/telegram/executors.js +2 -0
  176. package/src/providers/telegram/trigger-on-update.d.ts +2 -0
  177. package/src/providers/telegram/trigger-on-update.definition.d.ts +5 -0
  178. package/src/providers/telegram/trigger-on-update.definition.js +78 -0
  179. package/src/providers/telegram/trigger-on-update.js +141 -0
  180. package/src/providers/weixin_store/access-token.d.ts +2 -1
  181. package/src/providers/weixin_store/access-token.js +15 -4
  182. package/src/providers/weixin_store/executors.js +97 -12
  183. package/src/providers/woocommerce/executors.d.ts +3 -0
  184. package/src/providers/woocommerce/executors.js +2 -0
  185. package/src/providers/woocommerce/trigger-on-store-event.d.ts +2 -0
  186. package/src/providers/woocommerce/trigger-on-store-event.definition.d.ts +4 -0
  187. package/src/providers/woocommerce/trigger-on-store-event.definition.js +55 -0
  188. package/src/providers/woocommerce/trigger-on-store-event.js +179 -0
  189. package/src/providers/zendesk/executors.d.ts +3 -0
  190. package/src/providers/zendesk/executors.js +2 -0
  191. package/src/providers/zendesk/trigger-on-event.d.ts +2 -0
  192. package/src/providers/zendesk/trigger-on-event.definition.d.ts +5 -0
  193. package/src/providers/zendesk/trigger-on-event.definition.js +101 -0
  194. package/src/providers/zendesk/trigger-on-event.js +188 -0
  195. package/src/saas/saas-cleanup-service.d.ts +26 -0
  196. package/src/saas/saas-cleanup-service.js +124 -0
  197. package/src/saas/saas-client.d.ts +86 -0
  198. package/src/saas/saas-client.js +369 -0
  199. package/src/saas/saas-execution-service.d.ts +15 -0
  200. package/src/saas/saas-execution-service.js +21 -0
  201. package/src/saas/saas-oauth-service.d.ts +25 -0
  202. package/src/saas/saas-oauth-service.js +197 -0
  203. package/src/saas/saas-project-service.d.ts +61 -0
  204. package/src/saas/saas-project-service.js +211 -0
  205. package/src/server/actions/action-idempotency.d.ts +1 -0
  206. package/src/server/actions/action-idempotency.js +1 -0
  207. package/src/server/actions/action-runner.d.ts +7 -0
  208. package/src/server/actions/action-runner.js +43 -7
  209. package/src/server/actions/run-log-summary.js +9 -0
  210. package/src/server/api/auth.d.ts +1 -0
  211. package/src/server/api/auth.js +13 -2
  212. package/src/server/api/cache-policy.js +4 -1
  213. package/src/server/api/connection-input.d.ts +7 -1
  214. package/src/server/api/connection-input.js +7 -1
  215. package/src/server/api/connection-routes.d.ts +3 -1
  216. package/src/server/api/connection-routes.js +21 -3
  217. package/src/server/api/http-utils.d.ts +4 -3
  218. package/src/server/api/oauth-completion-page.d.ts +124 -0
  219. package/src/server/api/oauth-completion-page.js +113 -18
  220. package/src/server/api/openapi.js +112 -14
  221. package/src/server/api/policy-input.js +6 -0
  222. package/src/server/api/runtime-api.d.ts +10 -2
  223. package/src/server/api/runtime-api.js +17 -4
  224. package/src/server/api/saas-completion-page.d.ts +2 -0
  225. package/src/server/api/saas-completion-page.js +103 -0
  226. package/src/server/connect-app.d.ts +5 -0
  227. package/src/server/connect-app.js +50 -0
  228. package/src/server/connect-server.d.ts +12 -0
  229. package/src/server/connect-server.js +147 -13
  230. package/src/server/connector-runtime.d.ts +3 -1
  231. package/src/server/connector-runtime.js +5 -2
  232. package/src/server/files/transit-files.js +16 -7
  233. package/src/server/proxy/proxy-runner.d.ts +5 -1
  234. package/src/server/proxy/proxy-runner.js +72 -26
  235. package/src/server/storage/connection-request-store.d.ts +41 -1
  236. package/src/server/storage/connection-request-store.js +245 -20
  237. package/src/server/storage/connection-store.d.ts +16 -0
  238. package/src/server/storage/connection-store.js +119 -0
  239. package/src/server/storage/node-runtime-database.js +3 -3
  240. package/src/server/storage/{postgres-migrations.d.ts → postgres/migrations.d.ts} +2 -2
  241. package/src/server/storage/{postgres-migrations.js → postgres/migrations.js} +1 -1
  242. package/src/server/storage/postgres/runtime-store.d.ts +43 -0
  243. package/src/server/storage/{postgres-runtime-store.js → postgres/runtime-store.js} +59 -94
  244. package/src/server/storage/runtime-database.d.ts +4 -0
  245. package/src/server/storage/runtime-sql.d.ts +1 -1
  246. package/src/server/storage/runtime-sql.js +2 -1
  247. package/src/server/storage/runtime-store.d.ts +1 -0
  248. package/src/server/storage/runtime-token-service.d.ts +2 -0
  249. package/src/server/storage/runtime-token-service.js +3 -0
  250. package/src/server/storage/saas-project-store.d.ts +77 -0
  251. package/src/server/storage/saas-project-store.js +273 -0
  252. package/src/server/storage/{sqlite-runtime-store.d.ts → sqlite/runtime-store.d.ts} +21 -25
  253. package/src/server/storage/{sqlite-runtime-store.js → sqlite/runtime-store.js} +100 -115
  254. package/src/server/storage/trigger-store.d.ts +16 -0
  255. package/src/server/storage/trigger-store.js +96 -0
  256. package/src/triggers/common/config.d.ts +2 -0
  257. package/src/triggers/common/config.js +17 -0
  258. package/src/triggers/common/configOptions.d.ts +13 -0
  259. package/src/triggers/common/configOptions.js +1 -0
  260. package/src/triggers/common/encoding.d.ts +3 -0
  261. package/src/triggers/common/encoding.js +19 -0
  262. package/src/triggers/common/integration.d.ts +115 -0
  263. package/src/triggers/common/integration.js +31 -0
  264. package/src/triggers/common/json.d.ts +6 -0
  265. package/src/triggers/common/json.js +91 -0
  266. package/src/triggers/common/poll.d.ts +41 -0
  267. package/src/triggers/common/poll.js +15 -0
  268. package/src/triggers/common/proxy.d.ts +14 -0
  269. package/src/triggers/common/proxy.js +1 -0
  270. package/src/triggers/common/types.d.ts +42 -0
  271. package/src/triggers/common/types.js +1 -0
  272. package/src/triggers/maintenance.d.ts +40 -0
  273. package/src/triggers/maintenance.js +120 -0
  274. package/src/triggers/metadata.d.ts +8 -0
  275. package/src/triggers/metadata.js +1 -0
  276. package/src/triggers/request.d.ts +33 -0
  277. package/src/triggers/request.js +52 -0
  278. package/src/triggers/resources.d.ts +12 -0
  279. package/src/triggers/resources.js +121 -0
  280. package/src/triggers/signature.d.ts +4 -0
  281. package/src/triggers/signature.js +48 -0
  282. package/src/triggers/store.d.ts +29 -0
  283. package/src/triggers/store.js +1 -0
  284. package/src/triggers/subscriptions.d.ts +22 -0
  285. package/src/triggers/subscriptions.js +220 -0
  286. package/src/triggers/trigger-runner.d.ts +34 -0
  287. package/src/triggers/trigger-runner.js +169 -0
  288. package/src/server/storage/postgres-runtime-store.d.ts +0 -39
@@ -49,8 +49,38 @@
49
49
  },
50
50
  "outputSchema": {
51
51
  "type": "object",
52
- "properties": {},
53
- "additionalProperties": true,
52
+ "properties": {
53
+ "rawText": {
54
+ "type": "string",
55
+ "description": "The original semicolon-delimited response returned by AIsa."
56
+ },
57
+ "columns": {
58
+ "type": "array",
59
+ "items": {
60
+ "type": "string",
61
+ "description": "A report column name."
62
+ },
63
+ "description": "The report columns in response order."
64
+ },
65
+ "rows": {
66
+ "type": "array",
67
+ "items": {
68
+ "type": "array",
69
+ "items": {
70
+ "type": "string",
71
+ "description": "A raw Semrush field value."
72
+ },
73
+ "description": "One report row aligned with columns."
74
+ },
75
+ "description": "The report rows in response order."
76
+ }
77
+ },
78
+ "additionalProperties": false,
79
+ "required": [
80
+ "rawText",
81
+ "columns",
82
+ "rows"
83
+ ],
54
84
  "description": "The parsed Semrush report returned by AIsa."
55
85
  }
56
86
  },
@@ -997,6 +1027,10 @@
997
1027
  },
998
1028
  "articleType": {
999
1029
  "type": "string",
1030
+ "enum": [
1031
+ "news",
1032
+ "guides"
1033
+ ],
1000
1034
  "description": "The CoinGecko news content type."
1001
1035
  },
1002
1036
  "page": {
@@ -1184,15 +1218,33 @@
1184
1218
  "keywords"
1185
1219
  ],
1186
1220
  "description": "Keywords, location, language, and optional tag for an AI keyword-volume query.",
1187
- "anyOf": [
1221
+ "allOf": [
1188
1222
  {
1189
- "required": [
1190
- "languageName"
1223
+ "anyOf": [
1224
+ {
1225
+ "required": [
1226
+ "locationName"
1227
+ ]
1228
+ },
1229
+ {
1230
+ "required": [
1231
+ "locationCode"
1232
+ ]
1233
+ }
1191
1234
  ]
1192
1235
  },
1193
1236
  {
1194
- "required": [
1195
- "languageCode"
1237
+ "anyOf": [
1238
+ {
1239
+ "required": [
1240
+ "languageName"
1241
+ ]
1242
+ },
1243
+ {
1244
+ "required": [
1245
+ "languageCode"
1246
+ ]
1247
+ }
1196
1248
  ]
1197
1249
  }
1198
1250
  ]
@@ -1481,7 +1533,12 @@
1481
1533
  },
1482
1534
  "filingType": {
1483
1535
  "type": "string",
1484
- "description": "The SEC filing type, such as 10-K or 10-Q."
1536
+ "enum": [
1537
+ "10-K",
1538
+ "10-Q",
1539
+ "8-K"
1540
+ ],
1541
+ "description": "The SEC filing type to retrieve."
1485
1542
  },
1486
1543
  "year": {
1487
1544
  "type": "integer",
@@ -1495,7 +1552,61 @@
1495
1552
  },
1496
1553
  "item": {
1497
1554
  "type": "string",
1498
- "description": "The filing item or section to return."
1555
+ "enum": [
1556
+ "Item-1",
1557
+ "Item-1A",
1558
+ "Item-1B",
1559
+ "Item-2",
1560
+ "Item-3",
1561
+ "Item-4",
1562
+ "Item-5",
1563
+ "Item-6",
1564
+ "Item-7",
1565
+ "Item-7A",
1566
+ "Item-8",
1567
+ "Item-9",
1568
+ "Item-9A",
1569
+ "Item-9B",
1570
+ "Item-10",
1571
+ "Item-11",
1572
+ "Item-12",
1573
+ "Item-13",
1574
+ "Item-14",
1575
+ "Item-15",
1576
+ "Item-16",
1577
+ "Item-1.01",
1578
+ "Item-1.02",
1579
+ "Item-1.03",
1580
+ "Item-1.04",
1581
+ "Item-2.01",
1582
+ "Item-2.02",
1583
+ "Item-2.03",
1584
+ "Item-2.04",
1585
+ "Item-2.05",
1586
+ "Item-2.06",
1587
+ "Item-3.01",
1588
+ "Item-3.02",
1589
+ "Item-3.03",
1590
+ "Item-4.01",
1591
+ "Item-4.02",
1592
+ "Item-5.01",
1593
+ "Item-5.02",
1594
+ "Item-5.03",
1595
+ "Item-5.04",
1596
+ "Item-5.05",
1597
+ "Item-5.06",
1598
+ "Item-5.07",
1599
+ "Item-5.08",
1600
+ "Item-6.01",
1601
+ "Item-6.02",
1602
+ "Item-6.03",
1603
+ "Item-6.04",
1604
+ "Item-6.05",
1605
+ "Item-7.01",
1606
+ "Item-8.01",
1607
+ "Item-9.01"
1608
+ ],
1609
+ "description": "The numbered filing item or section to return."
1499
1610
  },
1500
1611
  "accessionNumber": {
1501
1612
  "type": "string",
@@ -2474,6 +2585,75 @@
2474
2585
  "description": "The Polymarket markets matching the filters."
2475
2586
  }
2476
2587
  },
2588
+ {
2589
+ "id": "aisa.get_semrush_backlink_anchors",
2590
+ "service": "aisa",
2591
+ "name": "get_semrush_backlink_anchors",
2592
+ "description": "Get backlink anchor text and backlink counts for a domain or URL.",
2593
+ "operationType": "read",
2594
+ "requiredScopes": [],
2595
+ "providerPermissions": [],
2596
+ "inputSchema": {
2597
+ "type": "object",
2598
+ "properties": {
2599
+ "target": {
2600
+ "type": "string",
2601
+ "description": "The domain or URL whose backlink anchors should be returned."
2602
+ },
2603
+ "targetType": {
2604
+ "type": "string",
2605
+ "enum": [
2606
+ "root_domain",
2607
+ "domain",
2608
+ "url"
2609
+ ],
2610
+ "description": "How Semrush should interpret the backlink target."
2611
+ }
2612
+ },
2613
+ "additionalProperties": false,
2614
+ "required": [
2615
+ "target",
2616
+ "targetType"
2617
+ ],
2618
+ "description": "A Semrush backlink target and target type for anchor-text distribution."
2619
+ },
2620
+ "outputSchema": {
2621
+ "type": "object",
2622
+ "properties": {
2623
+ "rawText": {
2624
+ "type": "string",
2625
+ "description": "The original semicolon-delimited response returned by AIsa."
2626
+ },
2627
+ "columns": {
2628
+ "type": "array",
2629
+ "items": {
2630
+ "type": "string",
2631
+ "description": "A report column name."
2632
+ },
2633
+ "description": "The report columns in response order."
2634
+ },
2635
+ "rows": {
2636
+ "type": "array",
2637
+ "items": {
2638
+ "type": "array",
2639
+ "items": {
2640
+ "type": "string",
2641
+ "description": "A raw Semrush field value."
2642
+ },
2643
+ "description": "One report row aligned with columns."
2644
+ },
2645
+ "description": "The report rows in response order."
2646
+ }
2647
+ },
2648
+ "additionalProperties": false,
2649
+ "required": [
2650
+ "rawText",
2651
+ "columns",
2652
+ "rows"
2653
+ ],
2654
+ "description": "The parsed Semrush report returned by AIsa."
2655
+ }
2656
+ },
2477
2657
  {
2478
2658
  "id": "aisa.get_semrush_backlink_competitors",
2479
2659
  "service": "aisa",
@@ -2508,8 +2688,38 @@
2508
2688
  },
2509
2689
  "outputSchema": {
2510
2690
  "type": "object",
2511
- "properties": {},
2512
- "additionalProperties": true,
2691
+ "properties": {
2692
+ "rawText": {
2693
+ "type": "string",
2694
+ "description": "The original semicolon-delimited response returned by AIsa."
2695
+ },
2696
+ "columns": {
2697
+ "type": "array",
2698
+ "items": {
2699
+ "type": "string",
2700
+ "description": "A report column name."
2701
+ },
2702
+ "description": "The report columns in response order."
2703
+ },
2704
+ "rows": {
2705
+ "type": "array",
2706
+ "items": {
2707
+ "type": "array",
2708
+ "items": {
2709
+ "type": "string",
2710
+ "description": "A raw Semrush field value."
2711
+ },
2712
+ "description": "One report row aligned with columns."
2713
+ },
2714
+ "description": "The report rows in response order."
2715
+ }
2716
+ },
2717
+ "additionalProperties": false,
2718
+ "required": [
2719
+ "rawText",
2720
+ "columns",
2721
+ "rows"
2722
+ ],
2513
2723
  "description": "The parsed Semrush report returned by AIsa."
2514
2724
  }
2515
2725
  },
@@ -2547,8 +2757,38 @@
2547
2757
  },
2548
2758
  "outputSchema": {
2549
2759
  "type": "object",
2550
- "properties": {},
2551
- "additionalProperties": true,
2760
+ "properties": {
2761
+ "rawText": {
2762
+ "type": "string",
2763
+ "description": "The original semicolon-delimited response returned by AIsa."
2764
+ },
2765
+ "columns": {
2766
+ "type": "array",
2767
+ "items": {
2768
+ "type": "string",
2769
+ "description": "A report column name."
2770
+ },
2771
+ "description": "The report columns in response order."
2772
+ },
2773
+ "rows": {
2774
+ "type": "array",
2775
+ "items": {
2776
+ "type": "array",
2777
+ "items": {
2778
+ "type": "string",
2779
+ "description": "A raw Semrush field value."
2780
+ },
2781
+ "description": "One report row aligned with columns."
2782
+ },
2783
+ "description": "The report rows in response order."
2784
+ }
2785
+ },
2786
+ "additionalProperties": false,
2787
+ "required": [
2788
+ "rawText",
2789
+ "columns",
2790
+ "rows"
2791
+ ],
2552
2792
  "description": "The parsed Semrush report returned by AIsa."
2553
2793
  }
2554
2794
  },
@@ -2576,8 +2816,38 @@
2576
2816
  },
2577
2817
  "outputSchema": {
2578
2818
  "type": "object",
2579
- "properties": {},
2580
- "additionalProperties": true,
2819
+ "properties": {
2820
+ "rawText": {
2821
+ "type": "string",
2822
+ "description": "The original semicolon-delimited response returned by AIsa."
2823
+ },
2824
+ "columns": {
2825
+ "type": "array",
2826
+ "items": {
2827
+ "type": "string",
2828
+ "description": "A report column name."
2829
+ },
2830
+ "description": "The report columns in response order."
2831
+ },
2832
+ "rows": {
2833
+ "type": "array",
2834
+ "items": {
2835
+ "type": "array",
2836
+ "items": {
2837
+ "type": "string",
2838
+ "description": "A raw Semrush field value."
2839
+ },
2840
+ "description": "One report row aligned with columns."
2841
+ },
2842
+ "description": "The report rows in response order."
2843
+ }
2844
+ },
2845
+ "additionalProperties": false,
2846
+ "required": [
2847
+ "rawText",
2848
+ "columns",
2849
+ "rows"
2850
+ ],
2581
2851
  "description": "The parsed Semrush report returned by AIsa."
2582
2852
  }
2583
2853
  },
@@ -2603,22 +2873,53 @@
2603
2873
  },
2604
2874
  "additionalProperties": false,
2605
2875
  "required": [
2606
- "phrase"
2876
+ "phrase",
2877
+ "database"
2607
2878
  ],
2608
2879
  "description": "A seed phrase and regional database for Semrush broad-match ideas."
2609
2880
  },
2610
2881
  "outputSchema": {
2611
2882
  "type": "object",
2612
- "properties": {},
2613
- "additionalProperties": true,
2883
+ "properties": {
2884
+ "rawText": {
2885
+ "type": "string",
2886
+ "description": "The original semicolon-delimited response returned by AIsa."
2887
+ },
2888
+ "columns": {
2889
+ "type": "array",
2890
+ "items": {
2891
+ "type": "string",
2892
+ "description": "A report column name."
2893
+ },
2894
+ "description": "The report columns in response order."
2895
+ },
2896
+ "rows": {
2897
+ "type": "array",
2898
+ "items": {
2899
+ "type": "array",
2900
+ "items": {
2901
+ "type": "string",
2902
+ "description": "A raw Semrush field value."
2903
+ },
2904
+ "description": "One report row aligned with columns."
2905
+ },
2906
+ "description": "The report rows in response order."
2907
+ }
2908
+ },
2909
+ "additionalProperties": false,
2910
+ "required": [
2911
+ "rawText",
2912
+ "columns",
2913
+ "rows"
2914
+ ],
2614
2915
  "description": "The parsed Semrush report returned by AIsa."
2615
2916
  }
2616
2917
  },
2617
2918
  {
2618
- "id": "aisa.get_semrush_domain_rank_history",
2919
+ "id": "aisa.get_semrush_domain_organic_keywords",
2619
2920
  "service": "aisa",
2620
- "name": "get_semrush_domain_rank_history",
2621
- "description": "Get historical Semrush rank and search-visibility metrics for a domain.",
2921
+ "name": "get_semrush_domain_organic_keywords",
2922
+ "description": "List a domain's Google organic keywords with positions, search volume, CPC, and ranking URLs.",
2622
2923
  "operationType": "read",
2623
2924
  "requiredScopes": [],
2624
2925
  "providerPermissions": [],
@@ -2639,102 +2940,122 @@
2639
2940
  "domain",
2640
2941
  "database"
2641
2942
  ],
2642
- "description": "A domain and regional database for its Semrush rank history."
2943
+ "description": "A domain and regional database for its organic keywords."
2643
2944
  },
2644
2945
  "outputSchema": {
2645
- "type": "object",
2646
- "properties": {},
2647
- "additionalProperties": true,
2648
- "description": "The parsed Semrush report returned by AIsa."
2649
- }
2650
- },
2651
- {
2652
- "id": "aisa.get_semrush_keyword_difficulty",
2653
- "service": "aisa",
2654
- "name": "get_semrush_keyword_difficulty",
2655
- "description": "Get keyword-difficulty scores for up to 20 keywords.",
2656
- "operationType": "read",
2657
- "requiredScopes": [],
2658
- "providerPermissions": [],
2659
- "inputSchema": {
2660
2946
  "type": "object",
2661
2947
  "properties": {
2662
- "phrases": {
2948
+ "rawText": {
2949
+ "type": "string",
2950
+ "description": "The original semicolon-delimited response returned by AIsa."
2951
+ },
2952
+ "columns": {
2663
2953
  "type": "array",
2664
2954
  "items": {
2665
2955
  "type": "string",
2666
- "description": "A keyword phrase."
2956
+ "description": "A report column name."
2667
2957
  },
2668
- "description": "The one to twenty keywords to analyze.",
2669
- "minItems": 1,
2670
- "maxItems": 20,
2671
- "uniqueItems": true
2958
+ "description": "The report columns in response order."
2672
2959
  },
2673
- "database": {
2674
- "type": "string",
2675
- "description": "The Semrush regional database code, such as us."
2960
+ "rows": {
2961
+ "type": "array",
2962
+ "items": {
2963
+ "type": "array",
2964
+ "items": {
2965
+ "type": "string",
2966
+ "description": "A raw Semrush field value."
2967
+ },
2968
+ "description": "One report row aligned with columns."
2969
+ },
2970
+ "description": "The report rows in response order."
2676
2971
  }
2677
2972
  },
2678
2973
  "additionalProperties": false,
2679
2974
  "required": [
2680
- "phrases"
2975
+ "rawText",
2976
+ "columns",
2977
+ "rows"
2681
2978
  ],
2682
- "description": "Keywords and a regional database for a Semrush difficulty report."
2683
- },
2684
- "outputSchema": {
2685
- "type": "object",
2686
- "properties": {},
2687
- "additionalProperties": true,
2688
2979
  "description": "The parsed Semrush report returned by AIsa."
2689
2980
  }
2690
2981
  },
2691
2982
  {
2692
- "id": "aisa.get_semrush_keyword_overview",
2983
+ "id": "aisa.get_semrush_domain_overview",
2693
2984
  "service": "aisa",
2694
- "name": "get_semrush_keyword_overview",
2695
- "description": "Get volume, CPC, competition, and result counts for a keyword.",
2985
+ "name": "get_semrush_domain_overview",
2986
+ "description": "Get current Semrush rank, organic keyword, traffic, cost, and paid keyword totals for a domain.",
2696
2987
  "operationType": "read",
2697
2988
  "requiredScopes": [],
2698
2989
  "providerPermissions": [],
2699
2990
  "inputSchema": {
2700
2991
  "type": "object",
2701
2992
  "properties": {
2702
- "phrase": {
2993
+ "domain": {
2703
2994
  "type": "string",
2704
- "description": "The keyword phrase to analyze."
2995
+ "description": "The domain to analyze without a path."
2705
2996
  },
2706
2997
  "database": {
2707
2998
  "type": "string",
2708
- "description": "The Semrush regional database code, such as us."
2999
+ "description": "The Semrush regional database code, such as us. Defaults to us when omitted."
2709
3000
  }
2710
3001
  },
2711
3002
  "additionalProperties": false,
2712
3003
  "required": [
2713
- "phrase"
3004
+ "domain"
2714
3005
  ],
2715
- "description": "A keyword and regional database for a Semrush overview."
3006
+ "description": "A domain and optional regional database for its Semrush overview."
2716
3007
  },
2717
3008
  "outputSchema": {
2718
3009
  "type": "object",
2719
- "properties": {},
2720
- "additionalProperties": true,
3010
+ "properties": {
3011
+ "rawText": {
3012
+ "type": "string",
3013
+ "description": "The original semicolon-delimited response returned by AIsa."
3014
+ },
3015
+ "columns": {
3016
+ "type": "array",
3017
+ "items": {
3018
+ "type": "string",
3019
+ "description": "A report column name."
3020
+ },
3021
+ "description": "The report columns in response order."
3022
+ },
3023
+ "rows": {
3024
+ "type": "array",
3025
+ "items": {
3026
+ "type": "array",
3027
+ "items": {
3028
+ "type": "string",
3029
+ "description": "A raw Semrush field value."
3030
+ },
3031
+ "description": "One report row aligned with columns."
3032
+ },
3033
+ "description": "The report rows in response order."
3034
+ }
3035
+ },
3036
+ "additionalProperties": false,
3037
+ "required": [
3038
+ "rawText",
3039
+ "columns",
3040
+ "rows"
3041
+ ],
2721
3042
  "description": "The parsed Semrush report returned by AIsa."
2722
3043
  }
2723
3044
  },
2724
3045
  {
2725
- "id": "aisa.get_semrush_question_keywords",
3046
+ "id": "aisa.get_semrush_domain_rank_history",
2726
3047
  "service": "aisa",
2727
- "name": "get_semrush_question_keywords",
2728
- "description": "Find question-form keyword ideas for a seed phrase.",
3048
+ "name": "get_semrush_domain_rank_history",
3049
+ "description": "Get historical Semrush rank and search-visibility metrics for a domain.",
2729
3050
  "operationType": "read",
2730
3051
  "requiredScopes": [],
2731
3052
  "providerPermissions": [],
2732
3053
  "inputSchema": {
2733
3054
  "type": "object",
2734
3055
  "properties": {
2735
- "phrase": {
3056
+ "domain": {
2736
3057
  "type": "string",
2737
- "description": "The seed keyword phrase."
3058
+ "description": "The domain to analyze without a path."
2738
3059
  },
2739
3060
  "database": {
2740
3061
  "type": "string",
@@ -2743,15 +3064,440 @@
2743
3064
  },
2744
3065
  "additionalProperties": false,
2745
3066
  "required": [
2746
- "phrase"
3067
+ "domain",
3068
+ "database"
2747
3069
  ],
2748
- "description": "A seed phrase and regional database for Semrush question keywords."
3070
+ "description": "A domain and regional database for its Semrush rank history."
2749
3071
  },
2750
3072
  "outputSchema": {
2751
3073
  "type": "object",
2752
- "properties": {},
2753
- "additionalProperties": true,
2754
- "description": "The parsed Semrush report returned by AIsa."
3074
+ "properties": {
3075
+ "rawText": {
3076
+ "type": "string",
3077
+ "description": "The original semicolon-delimited response returned by AIsa."
3078
+ },
3079
+ "columns": {
3080
+ "type": "array",
3081
+ "items": {
3082
+ "type": "string",
3083
+ "description": "A report column name."
3084
+ },
3085
+ "description": "The report columns in response order."
3086
+ },
3087
+ "rows": {
3088
+ "type": "array",
3089
+ "items": {
3090
+ "type": "array",
3091
+ "items": {
3092
+ "type": "string",
3093
+ "description": "A raw Semrush field value."
3094
+ },
3095
+ "description": "One report row aligned with columns."
3096
+ },
3097
+ "description": "The report rows in response order."
3098
+ }
3099
+ },
3100
+ "additionalProperties": false,
3101
+ "required": [
3102
+ "rawText",
3103
+ "columns",
3104
+ "rows"
3105
+ ],
3106
+ "description": "The parsed Semrush report returned by AIsa."
3107
+ }
3108
+ },
3109
+ {
3110
+ "id": "aisa.get_semrush_indexed_pages",
3111
+ "service": "aisa",
3112
+ "name": "get_semrush_indexed_pages",
3113
+ "description": "List pages with backlinks and their backlink counts; this report does not verify Google indexation or live HTTP status.",
3114
+ "operationType": "read",
3115
+ "requiredScopes": [],
3116
+ "providerPermissions": [],
3117
+ "inputSchema": {
3118
+ "type": "object",
3119
+ "properties": {
3120
+ "target": {
3121
+ "type": "string",
3122
+ "description": "The domain or URL whose linked pages should be returned."
3123
+ },
3124
+ "targetType": {
3125
+ "type": "string",
3126
+ "enum": [
3127
+ "root_domain",
3128
+ "domain",
3129
+ "url"
3130
+ ],
3131
+ "description": "How Semrush should interpret the backlink target."
3132
+ }
3133
+ },
3134
+ "additionalProperties": false,
3135
+ "required": [
3136
+ "target",
3137
+ "targetType"
3138
+ ],
3139
+ "description": "A Semrush backlink target and target type for pages with backlinks."
3140
+ },
3141
+ "outputSchema": {
3142
+ "type": "object",
3143
+ "properties": {
3144
+ "rawText": {
3145
+ "type": "string",
3146
+ "description": "The original semicolon-delimited response returned by AIsa."
3147
+ },
3148
+ "columns": {
3149
+ "type": "array",
3150
+ "items": {
3151
+ "type": "string",
3152
+ "description": "A report column name."
3153
+ },
3154
+ "description": "The report columns in response order."
3155
+ },
3156
+ "rows": {
3157
+ "type": "array",
3158
+ "items": {
3159
+ "type": "array",
3160
+ "items": {
3161
+ "type": "string",
3162
+ "description": "A raw Semrush field value."
3163
+ },
3164
+ "description": "One report row aligned with columns."
3165
+ },
3166
+ "description": "The report rows in response order."
3167
+ }
3168
+ },
3169
+ "additionalProperties": false,
3170
+ "required": [
3171
+ "rawText",
3172
+ "columns",
3173
+ "rows"
3174
+ ],
3175
+ "description": "The parsed Semrush report returned by AIsa."
3176
+ }
3177
+ },
3178
+ {
3179
+ "id": "aisa.get_semrush_keyword_difficulty",
3180
+ "service": "aisa",
3181
+ "name": "get_semrush_keyword_difficulty",
3182
+ "description": "Get keyword-difficulty scores for up to 20 keywords.",
3183
+ "operationType": "read",
3184
+ "requiredScopes": [],
3185
+ "providerPermissions": [],
3186
+ "inputSchema": {
3187
+ "type": "object",
3188
+ "properties": {
3189
+ "phrases": {
3190
+ "type": "array",
3191
+ "items": {
3192
+ "type": "string",
3193
+ "description": "A keyword phrase."
3194
+ },
3195
+ "description": "The one to twenty keywords to analyze.",
3196
+ "minItems": 1,
3197
+ "maxItems": 20,
3198
+ "uniqueItems": true
3199
+ },
3200
+ "database": {
3201
+ "type": "string",
3202
+ "description": "The Semrush regional database code, such as us."
3203
+ }
3204
+ },
3205
+ "additionalProperties": false,
3206
+ "required": [
3207
+ "phrases",
3208
+ "database"
3209
+ ],
3210
+ "description": "Keywords and a regional database for a Semrush difficulty report."
3211
+ },
3212
+ "outputSchema": {
3213
+ "type": "object",
3214
+ "properties": {
3215
+ "rawText": {
3216
+ "type": "string",
3217
+ "description": "The original semicolon-delimited response returned by AIsa."
3218
+ },
3219
+ "columns": {
3220
+ "type": "array",
3221
+ "items": {
3222
+ "type": "string",
3223
+ "description": "A report column name."
3224
+ },
3225
+ "description": "The report columns in response order."
3226
+ },
3227
+ "rows": {
3228
+ "type": "array",
3229
+ "items": {
3230
+ "type": "array",
3231
+ "items": {
3232
+ "type": "string",
3233
+ "description": "A raw Semrush field value."
3234
+ },
3235
+ "description": "One report row aligned with columns."
3236
+ },
3237
+ "description": "The report rows in response order."
3238
+ }
3239
+ },
3240
+ "additionalProperties": false,
3241
+ "required": [
3242
+ "rawText",
3243
+ "columns",
3244
+ "rows"
3245
+ ],
3246
+ "description": "The parsed Semrush report returned by AIsa."
3247
+ }
3248
+ },
3249
+ {
3250
+ "id": "aisa.get_semrush_keyword_overview",
3251
+ "service": "aisa",
3252
+ "name": "get_semrush_keyword_overview",
3253
+ "description": "Get volume, CPC, competition, and result counts for a keyword.",
3254
+ "operationType": "read",
3255
+ "requiredScopes": [],
3256
+ "providerPermissions": [],
3257
+ "inputSchema": {
3258
+ "type": "object",
3259
+ "properties": {
3260
+ "phrase": {
3261
+ "type": "string",
3262
+ "description": "The keyword phrase to analyze."
3263
+ },
3264
+ "database": {
3265
+ "type": "string",
3266
+ "description": "The Semrush regional database code, such as us."
3267
+ }
3268
+ },
3269
+ "additionalProperties": false,
3270
+ "required": [
3271
+ "phrase"
3272
+ ],
3273
+ "description": "A keyword and regional database for a Semrush overview."
3274
+ },
3275
+ "outputSchema": {
3276
+ "type": "object",
3277
+ "properties": {
3278
+ "rawText": {
3279
+ "type": "string",
3280
+ "description": "The original semicolon-delimited response returned by AIsa."
3281
+ },
3282
+ "columns": {
3283
+ "type": "array",
3284
+ "items": {
3285
+ "type": "string",
3286
+ "description": "A report column name."
3287
+ },
3288
+ "description": "The report columns in response order."
3289
+ },
3290
+ "rows": {
3291
+ "type": "array",
3292
+ "items": {
3293
+ "type": "array",
3294
+ "items": {
3295
+ "type": "string",
3296
+ "description": "A raw Semrush field value."
3297
+ },
3298
+ "description": "One report row aligned with columns."
3299
+ },
3300
+ "description": "The report rows in response order."
3301
+ }
3302
+ },
3303
+ "additionalProperties": false,
3304
+ "required": [
3305
+ "rawText",
3306
+ "columns",
3307
+ "rows"
3308
+ ],
3309
+ "description": "The parsed Semrush report returned by AIsa."
3310
+ }
3311
+ },
3312
+ {
3313
+ "id": "aisa.get_semrush_organic_competitors",
3314
+ "service": "aisa",
3315
+ "name": "get_semrush_organic_competitors",
3316
+ "description": "Find Google organic search competitors with relevance and shared keyword counts.",
3317
+ "operationType": "read",
3318
+ "requiredScopes": [],
3319
+ "providerPermissions": [],
3320
+ "inputSchema": {
3321
+ "type": "object",
3322
+ "properties": {
3323
+ "domain": {
3324
+ "type": "string",
3325
+ "description": "The domain to analyze without a path."
3326
+ },
3327
+ "database": {
3328
+ "type": "string",
3329
+ "description": "The Semrush regional database code, such as us."
3330
+ }
3331
+ },
3332
+ "additionalProperties": false,
3333
+ "required": [
3334
+ "domain",
3335
+ "database"
3336
+ ],
3337
+ "description": "A domain and regional database for its organic search competitors."
3338
+ },
3339
+ "outputSchema": {
3340
+ "type": "object",
3341
+ "properties": {
3342
+ "rawText": {
3343
+ "type": "string",
3344
+ "description": "The original semicolon-delimited response returned by AIsa."
3345
+ },
3346
+ "columns": {
3347
+ "type": "array",
3348
+ "items": {
3349
+ "type": "string",
3350
+ "description": "A report column name."
3351
+ },
3352
+ "description": "The report columns in response order."
3353
+ },
3354
+ "rows": {
3355
+ "type": "array",
3356
+ "items": {
3357
+ "type": "array",
3358
+ "items": {
3359
+ "type": "string",
3360
+ "description": "A raw Semrush field value."
3361
+ },
3362
+ "description": "One report row aligned with columns."
3363
+ },
3364
+ "description": "The report rows in response order."
3365
+ }
3366
+ },
3367
+ "additionalProperties": false,
3368
+ "required": [
3369
+ "rawText",
3370
+ "columns",
3371
+ "rows"
3372
+ ],
3373
+ "description": "The parsed Semrush report returned by AIsa."
3374
+ }
3375
+ },
3376
+ {
3377
+ "id": "aisa.get_semrush_organic_results",
3378
+ "service": "aisa",
3379
+ "name": "get_semrush_organic_results",
3380
+ "description": "List domains, URLs, and raw SERP feature codes for a keyword in Google organic search.",
3381
+ "operationType": "read",
3382
+ "requiredScopes": [],
3383
+ "providerPermissions": [],
3384
+ "inputSchema": {
3385
+ "type": "object",
3386
+ "properties": {
3387
+ "phrase": {
3388
+ "type": "string",
3389
+ "description": "The keyword phrase to analyze."
3390
+ },
3391
+ "database": {
3392
+ "type": "string",
3393
+ "description": "The Semrush regional database code, such as us. Defaults to us when omitted."
3394
+ }
3395
+ },
3396
+ "additionalProperties": false,
3397
+ "required": [
3398
+ "phrase"
3399
+ ],
3400
+ "description": "A keyword and optional regional database for its organic search results."
3401
+ },
3402
+ "outputSchema": {
3403
+ "type": "object",
3404
+ "properties": {
3405
+ "rawText": {
3406
+ "type": "string",
3407
+ "description": "The original semicolon-delimited response returned by AIsa."
3408
+ },
3409
+ "columns": {
3410
+ "type": "array",
3411
+ "items": {
3412
+ "type": "string",
3413
+ "description": "A report column name."
3414
+ },
3415
+ "description": "The report columns in response order."
3416
+ },
3417
+ "rows": {
3418
+ "type": "array",
3419
+ "items": {
3420
+ "type": "array",
3421
+ "items": {
3422
+ "type": "string",
3423
+ "description": "A raw Semrush field value."
3424
+ },
3425
+ "description": "One report row aligned with columns."
3426
+ },
3427
+ "description": "The report rows in response order."
3428
+ }
3429
+ },
3430
+ "additionalProperties": false,
3431
+ "required": [
3432
+ "rawText",
3433
+ "columns",
3434
+ "rows"
3435
+ ],
3436
+ "description": "The parsed Semrush report returned by AIsa."
3437
+ }
3438
+ },
3439
+ {
3440
+ "id": "aisa.get_semrush_question_keywords",
3441
+ "service": "aisa",
3442
+ "name": "get_semrush_question_keywords",
3443
+ "description": "Find question-form keyword ideas for a seed phrase.",
3444
+ "operationType": "read",
3445
+ "requiredScopes": [],
3446
+ "providerPermissions": [],
3447
+ "inputSchema": {
3448
+ "type": "object",
3449
+ "properties": {
3450
+ "phrase": {
3451
+ "type": "string",
3452
+ "description": "The seed keyword phrase."
3453
+ },
3454
+ "database": {
3455
+ "type": "string",
3456
+ "description": "The Semrush regional database code, such as us."
3457
+ }
3458
+ },
3459
+ "additionalProperties": false,
3460
+ "required": [
3461
+ "phrase",
3462
+ "database"
3463
+ ],
3464
+ "description": "A seed phrase and regional database for Semrush question keywords."
3465
+ },
3466
+ "outputSchema": {
3467
+ "type": "object",
3468
+ "properties": {
3469
+ "rawText": {
3470
+ "type": "string",
3471
+ "description": "The original semicolon-delimited response returned by AIsa."
3472
+ },
3473
+ "columns": {
3474
+ "type": "array",
3475
+ "items": {
3476
+ "type": "string",
3477
+ "description": "A report column name."
3478
+ },
3479
+ "description": "The report columns in response order."
3480
+ },
3481
+ "rows": {
3482
+ "type": "array",
3483
+ "items": {
3484
+ "type": "array",
3485
+ "items": {
3486
+ "type": "string",
3487
+ "description": "A raw Semrush field value."
3488
+ },
3489
+ "description": "One report row aligned with columns."
3490
+ },
3491
+ "description": "The report rows in response order."
3492
+ }
3493
+ },
3494
+ "additionalProperties": false,
3495
+ "required": [
3496
+ "rawText",
3497
+ "columns",
3498
+ "rows"
3499
+ ],
3500
+ "description": "The parsed Semrush report returned by AIsa."
2755
3501
  }
2756
3502
  },
2757
3503
  {
@@ -2788,8 +3534,102 @@
2788
3534
  },
2789
3535
  "outputSchema": {
2790
3536
  "type": "object",
2791
- "properties": {},
2792
- "additionalProperties": true,
3537
+ "properties": {
3538
+ "rawText": {
3539
+ "type": "string",
3540
+ "description": "The original semicolon-delimited response returned by AIsa."
3541
+ },
3542
+ "columns": {
3543
+ "type": "array",
3544
+ "items": {
3545
+ "type": "string",
3546
+ "description": "A report column name."
3547
+ },
3548
+ "description": "The report columns in response order."
3549
+ },
3550
+ "rows": {
3551
+ "type": "array",
3552
+ "items": {
3553
+ "type": "array",
3554
+ "items": {
3555
+ "type": "string",
3556
+ "description": "A raw Semrush field value."
3557
+ },
3558
+ "description": "One report row aligned with columns."
3559
+ },
3560
+ "description": "The report rows in response order."
3561
+ }
3562
+ },
3563
+ "additionalProperties": false,
3564
+ "required": [
3565
+ "rawText",
3566
+ "columns",
3567
+ "rows"
3568
+ ],
3569
+ "description": "The parsed Semrush report returned by AIsa."
3570
+ }
3571
+ },
3572
+ {
3573
+ "id": "aisa.get_semrush_url_organic_keywords",
3574
+ "service": "aisa",
3575
+ "name": "get_semrush_url_organic_keywords",
3576
+ "description": "List a landing page's Google organic keywords with positions, search volume, and CPC.",
3577
+ "operationType": "read",
3578
+ "requiredScopes": [],
3579
+ "providerPermissions": [],
3580
+ "inputSchema": {
3581
+ "type": "object",
3582
+ "properties": {
3583
+ "url": {
3584
+ "type": "string",
3585
+ "description": "The complete landing page URL to analyze."
3586
+ },
3587
+ "database": {
3588
+ "type": "string",
3589
+ "description": "The Semrush regional database code, such as us."
3590
+ }
3591
+ },
3592
+ "additionalProperties": false,
3593
+ "required": [
3594
+ "url",
3595
+ "database"
3596
+ ],
3597
+ "description": "A landing page URL and regional database for its organic keywords."
3598
+ },
3599
+ "outputSchema": {
3600
+ "type": "object",
3601
+ "properties": {
3602
+ "rawText": {
3603
+ "type": "string",
3604
+ "description": "The original semicolon-delimited response returned by AIsa."
3605
+ },
3606
+ "columns": {
3607
+ "type": "array",
3608
+ "items": {
3609
+ "type": "string",
3610
+ "description": "A report column name."
3611
+ },
3612
+ "description": "The report columns in response order."
3613
+ },
3614
+ "rows": {
3615
+ "type": "array",
3616
+ "items": {
3617
+ "type": "array",
3618
+ "items": {
3619
+ "type": "string",
3620
+ "description": "A raw Semrush field value."
3621
+ },
3622
+ "description": "One report row aligned with columns."
3623
+ },
3624
+ "description": "The report rows in response order."
3625
+ }
3626
+ },
3627
+ "additionalProperties": false,
3628
+ "required": [
3629
+ "rawText",
3630
+ "columns",
3631
+ "rows"
3632
+ ],
2793
3633
  "description": "The parsed Semrush report returned by AIsa."
2794
3634
  }
2795
3635
  },
@@ -4823,7 +5663,7 @@
4823
5663
  },
4824
5664
  "count": {
4825
5665
  "type": "integer",
4826
- "minimum": 1,
5666
+ "minimum": 30,
4827
5667
  "description": "The maximum number of trends to return."
4828
5668
  }
4829
5669
  },