@rnsk/toolkits 0.0.9 → 0.0.11

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 (402) hide show
  1. package/README.md +18 -2
  2. package/dist/index.d.ts +17 -1
  3. package/dist/index.js +33 -1
  4. package/dist/toolkits/bitbucket/tools/index.d.ts +5 -5
  5. package/dist/toolkits/bitbucket/tools/reports.d.ts +5 -5
  6. package/dist/toolkits/cloudflare/tools/create-list.d.ts +1 -1
  7. package/dist/toolkits/cloudflare/tools/create-zone.d.ts +1 -1
  8. package/dist/toolkits/cloudflare/tools/index.d.ts +4 -4
  9. package/dist/toolkits/cloudflare/tools/list-pools.d.ts +1 -1
  10. package/dist/toolkits/cloudflare/tools/list-zones.d.ts +1 -1
  11. package/dist/toolkits/convex/icon.d.ts +5 -0
  12. package/dist/toolkits/convex/icon.js +10 -0
  13. package/dist/toolkits/convex/manifest.d.ts +3 -0
  14. package/dist/toolkits/convex/manifest.js +33 -0
  15. package/dist/toolkits/convex/tools/client.d.ts +28 -0
  16. package/dist/toolkits/convex/tools/client.js +85 -0
  17. package/dist/toolkits/convex/tools/deploy-keys.d.ts +10 -0
  18. package/dist/toolkits/convex/tools/deploy-keys.js +46 -0
  19. package/dist/toolkits/convex/tools/deployments.d.ts +35 -0
  20. package/dist/toolkits/convex/tools/deployments.js +126 -0
  21. package/dist/toolkits/convex/tools/domains.d.ts +7 -0
  22. package/dist/toolkits/convex/tools/domains.js +29 -0
  23. package/dist/toolkits/convex/tools/functions.d.ts +14 -0
  24. package/dist/toolkits/convex/tools/functions.js +49 -0
  25. package/dist/toolkits/convex/tools/index.d.ts +176 -0
  26. package/dist/toolkits/convex/tools/index.js +145 -0
  27. package/dist/toolkits/convex/tools/logging.d.ts +5 -0
  28. package/dist/toolkits/convex/tools/logging.js +25 -0
  29. package/dist/toolkits/convex/tools/projects.d.ts +31 -0
  30. package/dist/toolkits/convex/tools/projects.js +111 -0
  31. package/dist/toolkits/convex/tools/teams.d.ts +12 -0
  32. package/dist/toolkits/convex/tools/teams.js +62 -0
  33. package/dist/toolkits/datadog/icon.d.ts +5 -0
  34. package/dist/toolkits/datadog/icon.js +6 -0
  35. package/dist/toolkits/datadog/manifest.d.ts +3 -0
  36. package/dist/toolkits/datadog/manifest.js +44 -0
  37. package/dist/toolkits/datadog/tools/api-keys.d.ts +21 -0
  38. package/dist/toolkits/datadog/tools/api-keys.js +42 -0
  39. package/dist/toolkits/datadog/tools/apm.d.ts +51 -0
  40. package/dist/toolkits/datadog/tools/apm.js +106 -0
  41. package/dist/toolkits/datadog/tools/client.d.ts +19 -0
  42. package/dist/toolkits/datadog/tools/client.js +81 -0
  43. package/dist/toolkits/datadog/tools/dashboards.d.ts +93 -0
  44. package/dist/toolkits/datadog/tools/dashboards.js +127 -0
  45. package/dist/toolkits/datadog/tools/events.d.ts +35 -0
  46. package/dist/toolkits/datadog/tools/events.js +56 -0
  47. package/dist/toolkits/datadog/tools/hosts.d.ts +49 -0
  48. package/dist/toolkits/datadog/tools/hosts.js +87 -0
  49. package/dist/toolkits/datadog/tools/incidents.d.ts +18 -0
  50. package/dist/toolkits/datadog/tools/incidents.js +34 -0
  51. package/dist/toolkits/datadog/tools/index.d.ts +999 -0
  52. package/dist/toolkits/datadog/tools/index.js +450 -0
  53. package/dist/toolkits/datadog/tools/integrations.d.ts +32 -0
  54. package/dist/toolkits/datadog/tools/integrations.js +47 -0
  55. package/dist/toolkits/datadog/tools/logs.d.ts +39 -0
  56. package/dist/toolkits/datadog/tools/logs.js +121 -0
  57. package/dist/toolkits/datadog/tools/metrics.d.ts +27 -0
  58. package/dist/toolkits/datadog/tools/metrics.js +83 -0
  59. package/dist/toolkits/datadog/tools/monitors.d.ts +95 -0
  60. package/dist/toolkits/datadog/tools/monitors.js +190 -0
  61. package/dist/toolkits/datadog/tools/oncall-notifications.d.ts +61 -0
  62. package/dist/toolkits/datadog/tools/oncall-notifications.js +155 -0
  63. package/dist/toolkits/datadog/tools/oncall-policies.d.ts +28 -0
  64. package/dist/toolkits/datadog/tools/oncall-policies.js +72 -0
  65. package/dist/toolkits/datadog/tools/oncall-schedules.d.ts +31 -0
  66. package/dist/toolkits/datadog/tools/oncall-schedules.js +87 -0
  67. package/dist/toolkits/datadog/tools/oncall-teams.d.ts +14 -0
  68. package/dist/toolkits/datadog/tools/oncall-teams.js +54 -0
  69. package/dist/toolkits/datadog/tools/slos.d.ts +43 -0
  70. package/dist/toolkits/datadog/tools/slos.js +62 -0
  71. package/dist/toolkits/datadog/tools/synthetics.d.ts +58 -0
  72. package/dist/toolkits/datadog/tools/synthetics.js +90 -0
  73. package/dist/toolkits/datadog/tools/usage.d.ts +7 -0
  74. package/dist/toolkits/datadog/tools/usage.js +25 -0
  75. package/dist/toolkits/datadog/tools/users.d.ts +35 -0
  76. package/dist/toolkits/datadog/tools/users.js +66 -0
  77. package/dist/toolkits/dev-to/icon.d.ts +5 -0
  78. package/dist/toolkits/dev-to/icon.js +10 -0
  79. package/dist/toolkits/dev-to/manifest.d.ts +3 -0
  80. package/dist/toolkits/dev-to/manifest.js +34 -0
  81. package/dist/toolkits/dev-to/tools/articles.d.ts +78 -0
  82. package/dist/toolkits/dev-to/tools/articles.js +262 -0
  83. package/dist/toolkits/dev-to/tools/client.d.ts +25 -0
  84. package/dist/toolkits/dev-to/tools/client.js +65 -0
  85. package/dist/toolkits/dev-to/tools/community.d.ts +61 -0
  86. package/dist/toolkits/dev-to/tools/community.js +244 -0
  87. package/dist/toolkits/dev-to/tools/index.d.ts +202 -0
  88. package/dist/toolkits/dev-to/tools/index.js +37 -0
  89. package/dist/toolkits/dev-to/tools/listings.d.ts +26 -0
  90. package/dist/toolkits/dev-to/tools/listings.js +92 -0
  91. package/dist/toolkits/discord/tools/applications.d.ts +5 -5
  92. package/dist/toolkits/discord/tools/index.d.ts +5 -5
  93. package/dist/toolkits/figma/tools/create-modify-delete-variables.d.ts +1 -1
  94. package/dist/toolkits/figma/tools/get-file-nodes.d.ts +1 -1
  95. package/dist/toolkits/figma/tools/index.d.ts +3 -3
  96. package/dist/toolkits/figma/tools/render-images-of-file-nodes.d.ts +1 -1
  97. package/dist/toolkits/google-analytics/tools/reports.d.ts +9 -9
  98. package/dist/toolkits/google-classroom/tools/index.d.ts +7 -7
  99. package/dist/toolkits/google-classroom/tools/invitations.d.ts +2 -2
  100. package/dist/toolkits/google-classroom/tools/misc.d.ts +1 -1
  101. package/dist/toolkits/google-classroom/tools/roster.d.ts +5 -5
  102. package/dist/toolkits/google-search-console/tools/index.d.ts +2 -2
  103. package/dist/toolkits/google-search-console/tools/search-analytics-query.d.ts +2 -2
  104. package/dist/toolkits/hacker-news/icon.d.ts +5 -0
  105. package/dist/toolkits/hacker-news/icon.js +9 -0
  106. package/dist/toolkits/hacker-news/manifest.d.ts +3 -0
  107. package/dist/toolkits/hacker-news/manifest.js +25 -0
  108. package/dist/toolkits/hacker-news/tools/client.d.ts +8 -0
  109. package/dist/toolkits/hacker-news/tools/client.js +51 -0
  110. package/dist/toolkits/hacker-news/tools/index.d.ts +89 -0
  111. package/dist/toolkits/hacker-news/tools/index.js +22 -0
  112. package/dist/toolkits/hacker-news/tools/items.d.ts +42 -0
  113. package/dist/toolkits/hacker-news/tools/items.js +126 -0
  114. package/dist/toolkits/hacker-news/tools/search.d.ts +12 -0
  115. package/dist/toolkits/hacker-news/tools/search.js +40 -0
  116. package/dist/toolkits/hacker-news/tools/stories.d.ts +25 -0
  117. package/dist/toolkits/hacker-news/tools/stories.js +98 -0
  118. package/dist/toolkits/hostinger/icon.d.ts +5 -0
  119. package/dist/toolkits/hostinger/icon.js +6 -0
  120. package/dist/toolkits/hostinger/manifest.d.ts +3 -0
  121. package/dist/toolkits/hostinger/manifest.js +36 -0
  122. package/dist/toolkits/hostinger/tools/billing.d.ts +12 -0
  123. package/dist/toolkits/hostinger/tools/billing.js +35 -0
  124. package/dist/toolkits/hostinger/tools/client.d.ts +6 -0
  125. package/dist/toolkits/hostinger/tools/client.js +57 -0
  126. package/dist/toolkits/hostinger/tools/dns.d.ts +22 -0
  127. package/dist/toolkits/hostinger/tools/dns.js +47 -0
  128. package/dist/toolkits/hostinger/tools/domains.d.ts +21 -0
  129. package/dist/toolkits/hostinger/tools/domains.js +62 -0
  130. package/dist/toolkits/hostinger/tools/hosting.d.ts +17 -0
  131. package/dist/toolkits/hostinger/tools/hosting.js +38 -0
  132. package/dist/toolkits/hostinger/tools/index.d.ts +179 -0
  133. package/dist/toolkits/hostinger/tools/index.js +35 -0
  134. package/dist/toolkits/hostinger/tools/vps.d.ts +27 -0
  135. package/dist/toolkits/hostinger/tools/vps.js +77 -0
  136. package/dist/toolkits/hostinger/tools/whois.d.ts +33 -0
  137. package/dist/toolkits/hostinger/tools/whois.js +85 -0
  138. package/dist/toolkits/hugging-face/icon.d.ts +5 -0
  139. package/dist/toolkits/hugging-face/icon.js +6 -0
  140. package/dist/toolkits/hugging-face/manifest.d.ts +3 -0
  141. package/dist/toolkits/hugging-face/manifest.js +42 -0
  142. package/dist/toolkits/hugging-face/tools/client.d.ts +93 -0
  143. package/dist/toolkits/hugging-face/tools/client.js +192 -0
  144. package/dist/toolkits/hugging-face/tools/datasets-viewer.d.ts +65 -0
  145. package/dist/toolkits/hugging-face/tools/datasets-viewer.js +150 -0
  146. package/dist/toolkits/hugging-face/tools/datasets.d.ts +160 -0
  147. package/dist/toolkits/hugging-face/tools/datasets.js +383 -0
  148. package/dist/toolkits/hugging-face/tools/discussions.d.ts +68 -0
  149. package/dist/toolkits/hugging-face/tools/discussions.js +144 -0
  150. package/dist/toolkits/hugging-face/tools/index.d.ts +523 -0
  151. package/dist/toolkits/hugging-face/tools/index.js +163 -0
  152. package/dist/toolkits/hugging-face/tools/inference.d.ts +42 -0
  153. package/dist/toolkits/hugging-face/tools/inference.js +86 -0
  154. package/dist/toolkits/hugging-face/tools/models.d.ts +117 -0
  155. package/dist/toolkits/hugging-face/tools/models.js +273 -0
  156. package/dist/toolkits/hugging-face/tools/papers.d.ts +37 -0
  157. package/dist/toolkits/hugging-face/tools/papers.js +91 -0
  158. package/dist/toolkits/hugging-face/tools/repos.d.ts +96 -0
  159. package/dist/toolkits/hugging-face/tools/repos.js +201 -0
  160. package/dist/toolkits/hugging-face/tools/settings.d.ts +53 -0
  161. package/dist/toolkits/hugging-face/tools/settings.js +88 -0
  162. package/dist/toolkits/hugging-face/tools/spaces.d.ts +245 -0
  163. package/dist/toolkits/hugging-face/tools/spaces.js +468 -0
  164. package/dist/toolkits/hugging-face/tools/sql.d.ts +21 -0
  165. package/dist/toolkits/hugging-face/tools/sql.js +47 -0
  166. package/dist/toolkits/hugging-face/tools/users.d.ts +60 -0
  167. package/dist/toolkits/hugging-face/tools/users.js +132 -0
  168. package/dist/toolkits/hugging-face/tools/webhooks.d.ts +35 -0
  169. package/dist/toolkits/hugging-face/tools/webhooks.js +87 -0
  170. package/dist/toolkits/jira/icon.d.ts +5 -0
  171. package/dist/toolkits/jira/icon.js +6 -0
  172. package/dist/toolkits/jira/manifest.d.ts +3 -0
  173. package/dist/toolkits/jira/manifest.js +53 -0
  174. package/dist/toolkits/jira/tools/boards.d.ts +52 -0
  175. package/dist/toolkits/jira/tools/boards.js +104 -0
  176. package/dist/toolkits/jira/tools/client.d.ts +23 -0
  177. package/dist/toolkits/jira/tools/client.js +270 -0
  178. package/dist/toolkits/jira/tools/index.d.ts +1280 -0
  179. package/dist/toolkits/jira/tools/index.js +119 -0
  180. package/dist/toolkits/jira/tools/issue-fields.d.ts +10 -0
  181. package/dist/toolkits/jira/tools/issue-fields.js +111 -0
  182. package/dist/toolkits/jira/tools/issues.d.ts +304 -0
  183. package/dist/toolkits/jira/tools/issues.js +593 -0
  184. package/dist/toolkits/jira/tools/meta.d.ts +212 -0
  185. package/dist/toolkits/jira/tools/meta.js +369 -0
  186. package/dist/toolkits/jira/tools/projects.d.ts +130 -0
  187. package/dist/toolkits/jira/tools/projects.js +263 -0
  188. package/dist/toolkits/jira/tools/search.d.ts +90 -0
  189. package/dist/toolkits/jira/tools/search.js +181 -0
  190. package/dist/toolkits/jira/tools/users.d.ts +114 -0
  191. package/dist/toolkits/jira/tools/users.js +221 -0
  192. package/dist/toolkits/kaggle/icon.d.ts +5 -0
  193. package/dist/toolkits/kaggle/icon.js +6 -0
  194. package/dist/toolkits/kaggle/manifest.d.ts +3 -0
  195. package/dist/toolkits/kaggle/manifest.js +32 -0
  196. package/dist/toolkits/kaggle/tools/client.d.ts +10 -0
  197. package/dist/toolkits/kaggle/tools/client.js +94 -0
  198. package/dist/toolkits/kaggle/tools/competitions.d.ts +48 -0
  199. package/dist/toolkits/kaggle/tools/competitions.js +109 -0
  200. package/dist/toolkits/kaggle/tools/config.d.ts +110 -0
  201. package/dist/toolkits/kaggle/tools/config.js +256 -0
  202. package/dist/toolkits/kaggle/tools/datasets.d.ts +88 -0
  203. package/dist/toolkits/kaggle/tools/datasets.js +161 -0
  204. package/dist/toolkits/kaggle/tools/index.d.ts +482 -0
  205. package/dist/toolkits/kaggle/tools/index.js +53 -0
  206. package/dist/toolkits/kaggle/tools/kernels.d.ts +62 -0
  207. package/dist/toolkits/kaggle/tools/kernels.js +121 -0
  208. package/dist/toolkits/kaggle/tools/model_instance_files.d.ts +11 -0
  209. package/dist/toolkits/kaggle/tools/model_instance_files.js +23 -0
  210. package/dist/toolkits/kaggle/tools/model_instances.d.ts +8 -0
  211. package/dist/toolkits/kaggle/tools/model_instances.js +20 -0
  212. package/dist/toolkits/kaggle/tools/models.d.ts +14 -0
  213. package/dist/toolkits/kaggle/tools/models.js +33 -0
  214. package/dist/toolkits/nasa/icon.d.ts +5 -0
  215. package/dist/toolkits/nasa/icon.js +56 -0
  216. package/dist/toolkits/nasa/manifest.d.ts +3 -0
  217. package/dist/toolkits/nasa/manifest.js +49 -0
  218. package/dist/toolkits/nasa/tools/agage.d.ts +60 -0
  219. package/dist/toolkits/nasa/tools/agage.js +176 -0
  220. package/dist/toolkits/nasa/tools/client.d.ts +95 -0
  221. package/dist/toolkits/nasa/tools/client.js +337 -0
  222. package/dist/toolkits/nasa/tools/cmr.d.ts +268 -0
  223. package/dist/toolkits/nasa/tools/cmr.js +984 -0
  224. package/dist/toolkits/nasa/tools/donki.d.ts +63 -0
  225. package/dist/toolkits/nasa/tools/donki.js +301 -0
  226. package/dist/toolkits/nasa/tools/eonet.d.ts +74 -0
  227. package/dist/toolkits/nasa/tools/eonet.js +279 -0
  228. package/dist/toolkits/nasa/tools/icesat2.d.ts +25 -0
  229. package/dist/toolkits/nasa/tools/icesat2.js +97 -0
  230. package/dist/toolkits/nasa/tools/imagery.d.ts +36 -0
  231. package/dist/toolkits/nasa/tools/imagery.js +138 -0
  232. package/dist/toolkits/nasa/tools/index.d.ts +1063 -0
  233. package/dist/toolkits/nasa/tools/index.js +865 -0
  234. package/dist/toolkits/nasa/tools/neo.d.ts +15 -0
  235. package/dist/toolkits/nasa/tools/neo.js +75 -0
  236. package/dist/toolkits/nasa/tools/ntrs.d.ts +152 -0
  237. package/dist/toolkits/nasa/tools/ntrs.js +292 -0
  238. package/dist/toolkits/nasa/tools/osdr.d.ts +72 -0
  239. package/dist/toolkits/nasa/tools/osdr.js +290 -0
  240. package/dist/toolkits/nasa/tools/planetary.d.ts +58 -0
  241. package/dist/toolkits/nasa/tools/planetary.js +312 -0
  242. package/dist/toolkits/nasa/tools/power.d.ts +52 -0
  243. package/dist/toolkits/nasa/tools/power.js +213 -0
  244. package/dist/toolkits/nasa/tools/ssc.d.ts +44 -0
  245. package/dist/toolkits/nasa/tools/ssc.js +92 -0
  246. package/dist/toolkits/nasa/tools/tolnet.d.ts +84 -0
  247. package/dist/toolkits/nasa/tools/tolnet.js +254 -0
  248. package/dist/toolkits/neo4j/icon.d.ts +5 -0
  249. package/dist/toolkits/neo4j/icon.js +6 -0
  250. package/dist/toolkits/neo4j/manifest.d.ts +3 -0
  251. package/dist/toolkits/neo4j/manifest.js +33 -0
  252. package/dist/toolkits/neo4j/tools/analytics.d.ts +21 -0
  253. package/dist/toolkits/neo4j/tools/analytics.js +91 -0
  254. package/dist/toolkits/neo4j/tools/client.d.ts +6 -0
  255. package/dist/toolkits/neo4j/tools/client.js +105 -0
  256. package/dist/toolkits/neo4j/tools/index.d.ts +198 -0
  257. package/dist/toolkits/neo4j/tools/index.js +30 -0
  258. package/dist/toolkits/neo4j/tools/instances.d.ts +47 -0
  259. package/dist/toolkits/neo4j/tools/instances.js +127 -0
  260. package/dist/toolkits/neo4j/tools/projects.d.ts +44 -0
  261. package/dist/toolkits/neo4j/tools/projects.js +110 -0
  262. package/dist/toolkits/neo4j/tools/snapshots.d.ts +20 -0
  263. package/dist/toolkits/neo4j/tools/snapshots.js +57 -0
  264. package/dist/toolkits/neon/icon.d.ts +5 -0
  265. package/dist/toolkits/neon/icon.js +8 -0
  266. package/dist/toolkits/neon/manifest.d.ts +3 -0
  267. package/dist/toolkits/neon/manifest.js +36 -0
  268. package/dist/toolkits/neon/tools/auth.d.ts +115 -0
  269. package/dist/toolkits/neon/tools/auth.js +286 -0
  270. package/dist/toolkits/neon/tools/branches.d.ts +189 -0
  271. package/dist/toolkits/neon/tools/branches.js +465 -0
  272. package/dist/toolkits/neon/tools/client.d.ts +10 -0
  273. package/dist/toolkits/neon/tools/client.js +69 -0
  274. package/dist/toolkits/neon/tools/dataapi.d.ts +42 -0
  275. package/dist/toolkits/neon/tools/dataapi.js +111 -0
  276. package/dist/toolkits/neon/tools/endpoints.d.ts +59 -0
  277. package/dist/toolkits/neon/tools/endpoints.js +163 -0
  278. package/dist/toolkits/neon/tools/index.d.ts +976 -0
  279. package/dist/toolkits/neon/tools/index.js +130 -0
  280. package/dist/toolkits/neon/tools/meta.d.ts +4 -0
  281. package/dist/toolkits/neon/tools/meta.js +16 -0
  282. package/dist/toolkits/neon/tools/orgs.d.ts +112 -0
  283. package/dist/toolkits/neon/tools/orgs.js +303 -0
  284. package/dist/toolkits/neon/tools/projects.d.ts +177 -0
  285. package/dist/toolkits/neon/tools/projects.js +468 -0
  286. package/dist/toolkits/neon/tools/snapshots.d.ts +24 -0
  287. package/dist/toolkits/neon/tools/snapshots.js +67 -0
  288. package/dist/toolkits/new-relic/icon.d.ts +5 -0
  289. package/dist/toolkits/new-relic/icon.js +6 -0
  290. package/dist/toolkits/new-relic/manifest.d.ts +3 -0
  291. package/dist/toolkits/new-relic/manifest.js +41 -0
  292. package/dist/toolkits/new-relic/tools/admin.d.ts +310 -0
  293. package/dist/toolkits/new-relic/tools/admin.js +282 -0
  294. package/dist/toolkits/new-relic/tools/alert-policies.d.ts +74 -0
  295. package/dist/toolkits/new-relic/tools/alert-policies.js +136 -0
  296. package/dist/toolkits/new-relic/tools/apm.d.ts +129 -0
  297. package/dist/toolkits/new-relic/tools/apm.js +228 -0
  298. package/dist/toolkits/new-relic/tools/client.d.ts +62 -0
  299. package/dist/toolkits/new-relic/tools/client.js +167 -0
  300. package/dist/toolkits/new-relic/tools/conditions.d.ts +190 -0
  301. package/dist/toolkits/new-relic/tools/conditions.js +265 -0
  302. package/dist/toolkits/new-relic/tools/config.d.ts +73 -0
  303. package/dist/toolkits/new-relic/tools/config.js +131 -0
  304. package/dist/toolkits/new-relic/tools/dashboards.d.ts +204 -0
  305. package/dist/toolkits/new-relic/tools/dashboards.js +159 -0
  306. package/dist/toolkits/new-relic/tools/entities.d.ts +160 -0
  307. package/dist/toolkits/new-relic/tools/entities.js +218 -0
  308. package/dist/toolkits/new-relic/tools/index.d.ts +23 -0
  309. package/dist/toolkits/new-relic/tools/index.js +179 -0
  310. package/dist/toolkits/new-relic/tools/ingest.d.ts +31 -0
  311. package/dist/toolkits/new-relic/tools/ingest.js +80 -0
  312. package/dist/toolkits/new-relic/tools/notifications.d.ts +186 -0
  313. package/dist/toolkits/new-relic/tools/notifications.js +232 -0
  314. package/dist/toolkits/new-relic/tools/nrql-conditions.d.ts +105 -0
  315. package/dist/toolkits/new-relic/tools/nrql-conditions.js +136 -0
  316. package/dist/toolkits/new-relic/tools/nrql.d.ts +38 -0
  317. package/dist/toolkits/new-relic/tools/nrql.js +99 -0
  318. package/dist/toolkits/new-relic/tools/synthetics.d.ts +176 -0
  319. package/dist/toolkits/new-relic/tools/synthetics.js +246 -0
  320. package/dist/toolkits/notebook-lm/icon.d.ts +5 -0
  321. package/dist/toolkits/notebook-lm/icon.js +6 -0
  322. package/dist/toolkits/notebook-lm/manifest.d.ts +3 -0
  323. package/dist/toolkits/notebook-lm/manifest.js +44 -0
  324. package/dist/toolkits/notebook-lm/tools/add-text-sources.d.ts +36 -0
  325. package/dist/toolkits/notebook-lm/tools/add-text-sources.js +51 -0
  326. package/dist/toolkits/notebook-lm/tools/create-audio-overview.d.ts +47 -0
  327. package/dist/toolkits/notebook-lm/tools/create-audio-overview.js +55 -0
  328. package/dist/toolkits/notebook-lm/tools/create-notebook.d.ts +52 -0
  329. package/dist/toolkits/notebook-lm/tools/create-notebook.js +49 -0
  330. package/dist/toolkits/notebook-lm/tools/delete-audio-overview.d.ts +33 -0
  331. package/dist/toolkits/notebook-lm/tools/delete-audio-overview.js +46 -0
  332. package/dist/toolkits/notebook-lm/tools/delete-notebooks.d.ts +32 -0
  333. package/dist/toolkits/notebook-lm/tools/delete-notebooks.js +46 -0
  334. package/dist/toolkits/notebook-lm/tools/delete-sources.d.ts +33 -0
  335. package/dist/toolkits/notebook-lm/tools/delete-sources.js +47 -0
  336. package/dist/toolkits/notebook-lm/tools/get-notebook.d.ts +52 -0
  337. package/dist/toolkits/notebook-lm/tools/get-notebook.js +45 -0
  338. package/dist/toolkits/notebook-lm/tools/get-source.d.ts +53 -0
  339. package/dist/toolkits/notebook-lm/tools/get-source.js +47 -0
  340. package/dist/toolkits/notebook-lm/tools/index.d.ts +516 -0
  341. package/dist/toolkits/notebook-lm/tools/index.js +93 -0
  342. package/dist/toolkits/notebook-lm/tools/list-recent-notebooks.d.ts +32 -0
  343. package/dist/toolkits/notebook-lm/tools/list-recent-notebooks.js +41 -0
  344. package/dist/toolkits/notebook-lm/tools/share-notebook.d.ts +48 -0
  345. package/dist/toolkits/notebook-lm/tools/share-notebook.js +57 -0
  346. package/dist/toolkits/notebook-lm/tools/upload-source-file.d.ts +40 -0
  347. package/dist/toolkits/notebook-lm/tools/upload-source-file.js +62 -0
  348. package/dist/toolkits/notebook-lm/tools/utils.d.ts +15 -0
  349. package/dist/toolkits/notebook-lm/tools/utils.js +46 -0
  350. package/dist/toolkits/npm/icon.d.ts +5 -0
  351. package/dist/toolkits/npm/icon.js +11 -0
  352. package/dist/toolkits/npm/manifest.d.ts +3 -0
  353. package/dist/toolkits/npm/manifest.js +35 -0
  354. package/dist/toolkits/npm/tools/client.d.ts +19 -0
  355. package/dist/toolkits/npm/tools/client.js +64 -0
  356. package/dist/toolkits/npm/tools/downloads.d.ts +19 -0
  357. package/dist/toolkits/npm/tools/downloads.js +39 -0
  358. package/dist/toolkits/npm/tools/index.d.ts +14 -0
  359. package/dist/toolkits/npm/tools/index.js +24 -0
  360. package/dist/toolkits/npm/tools/registry.d.ts +24 -0
  361. package/dist/toolkits/npm/tools/registry.js +58 -0
  362. package/dist/toolkits/npm/tools/security.d.ts +9 -0
  363. package/dist/toolkits/npm/tools/security.js +29 -0
  364. package/dist/toolkits/slack/tools/admin-users.d.ts +1 -1
  365. package/dist/toolkits/slack/tools/slack-lists.d.ts +3 -3
  366. package/dist/toolkits/snowflake/icon.d.ts +5 -0
  367. package/dist/toolkits/snowflake/icon.js +6 -0
  368. package/dist/toolkits/snowflake/manifest.d.ts +3 -0
  369. package/dist/toolkits/snowflake/manifest.js +32 -0
  370. package/dist/toolkits/snowflake/tools/catalog.d.ts +56 -0
  371. package/dist/toolkits/snowflake/tools/catalog.js +123 -0
  372. package/dist/toolkits/snowflake/tools/client.d.ts +53 -0
  373. package/dist/toolkits/snowflake/tools/client.js +145 -0
  374. package/dist/toolkits/snowflake/tools/index.d.ts +14 -0
  375. package/dist/toolkits/snowflake/tools/index.js +28 -0
  376. package/dist/toolkits/snowflake/tools/statements.d.ts +27 -0
  377. package/dist/toolkits/snowflake/tools/statements.js +84 -0
  378. package/dist/toolkits/snowflake/tools/status.d.ts +22 -0
  379. package/dist/toolkits/snowflake/tools/status.js +54 -0
  380. package/dist/toolkits/telegram/icon.d.ts +5 -0
  381. package/dist/toolkits/telegram/icon.js +6 -0
  382. package/dist/toolkits/telegram/manifest.d.ts +3 -0
  383. package/dist/toolkits/telegram/manifest.js +34 -0
  384. package/dist/toolkits/telegram/tools/bot.d.ts +13 -0
  385. package/dist/toolkits/telegram/tools/bot.js +23 -0
  386. package/dist/toolkits/telegram/tools/chats.d.ts +22 -0
  387. package/dist/toolkits/telegram/tools/chats.js +46 -0
  388. package/dist/toolkits/telegram/tools/client.d.ts +12 -0
  389. package/dist/toolkits/telegram/tools/client.js +46 -0
  390. package/dist/toolkits/telegram/tools/index.d.ts +15 -0
  391. package/dist/toolkits/telegram/tools/index.js +31 -0
  392. package/dist/toolkits/telegram/tools/messages.d.ts +86 -0
  393. package/dist/toolkits/telegram/tools/messages.js +134 -0
  394. package/dist/toolkits/telegram/tools/updates.d.ts +23 -0
  395. package/dist/toolkits/telegram/tools/updates.js +54 -0
  396. package/dist/toolkits/youtube/tools/get-channel-activities.d.ts +1 -1
  397. package/dist/toolkits/youtube/tools/index.d.ts +5 -5
  398. package/dist/toolkits/youtube/tools/list-channel-sections.d.ts +1 -1
  399. package/dist/toolkits/youtube/tools/post-comment.d.ts +1 -1
  400. package/dist/toolkits/youtube/tools/subscribe-channel.d.ts +1 -1
  401. package/dist/toolkits/youtube/tools/unsubscribe-channel.d.ts +1 -1
  402. package/package.json +2 -3
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ export declare const sendEvents: import("ai").Tool<{
3
+ events: Record<string, any>[];
4
+ accountId: string;
5
+ insertKey: string;
6
+ }, any>;
7
+ export declare const sendTraces: import("ai").Tool<{
8
+ ingestKey: string;
9
+ traces: {
10
+ spans: {
11
+ id: string;
12
+ attributes: {
13
+ 'duration.ms': number;
14
+ name?: string | undefined;
15
+ 'parent.id'?: string | null | undefined;
16
+ 'service.name'?: string | undefined;
17
+ } & {
18
+ [k: string]: any;
19
+ };
20
+ 'trace.id': string;
21
+ timestamp?: number | undefined;
22
+ }[];
23
+ common?: z.objectOutputType<{
24
+ 'service.name': z.ZodOptional<z.ZodString>;
25
+ host: z.ZodOptional<z.ZodString>;
26
+ }, z.ZodAny, "strip"> | undefined;
27
+ }[];
28
+ dataFormat?: "newrelic" | undefined;
29
+ dataFormatVersion?: string | undefined;
30
+ }, any>;
31
+ //# sourceMappingURL=ingest.d.ts.map
@@ -0,0 +1,80 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { EVENTS_API_BASE, TRACE_API_BASE } from './client.js';
5
+ export const sendEvents = tool({
6
+ description: 'Sends custom events (business metrics, app events) for NRQL querying/charting. Each event needs eventType. Uses an Insights insert key (not the user key).',
7
+ inputSchema: z.object({
8
+ accountId: z.string().describe('Account ID receiving the events'),
9
+ insertKey: z.string().describe('Insights insert API key (X-Insert-Key) — differs from the user API key'),
10
+ events: z.array(z.record(z.any())).min(1).describe("Events with eventType + attributes, e.g. [{eventType:'Purchase',amount:99.99,userId:'user123'}]"),
11
+ }),
12
+ execute: async ({ accountId, insertKey, events }) => {
13
+ try {
14
+ if (!insertKey)
15
+ return { error: 'New Relic insert key is required. Provide insertKey.' };
16
+ const response = await fetch(`${EVENTS_API_BASE}/accounts/${accountId}/events`, {
17
+ method: 'POST',
18
+ headers: { 'Content-Type': 'application/json', 'X-Insert-Key': insertKey },
19
+ body: JSON.stringify(events),
20
+ });
21
+ const data = await response.json().catch(() => ({}));
22
+ if (!response.ok)
23
+ return { error: 'Failed to send events', details: data };
24
+ return data;
25
+ }
26
+ catch (error) {
27
+ return { error: 'Error sending events', message: error instanceof Error ? error.message : 'Unknown error' };
28
+ }
29
+ },
30
+ });
31
+ const spanSchema = z.object({
32
+ id: z.string().describe('Unique span ID'),
33
+ 'trace.id': z.string().describe('Trace ID shared by all spans in the trace'),
34
+ timestamp: z.number().int().optional().describe('Start epoch millis (default receipt time)'),
35
+ attributes: z.object({
36
+ 'duration.ms': z.number().describe('Span duration millis (required)'),
37
+ name: z.string().optional().describe("Span name, e.g. '/api/users'"),
38
+ 'parent.id': z.string().nullable().optional().describe('Caller span ID (null for root — traces need a root)'),
39
+ 'service.name': z.string().optional().describe('Owning entity, e.g. order-service'),
40
+ }).catchall(z.any()).describe('Span details (duration.ms required)'),
41
+ });
42
+ export const sendTraces = tool({
43
+ description: 'Sends distributed-trace spans (New Relic format, max 1MB post-compression) for latency debugging. Uses a license/ingest key (not the user key).',
44
+ inputSchema: z.object({
45
+ ingestKey: z.string().describe('License (ingest) key for the Trace API — differs from the user API key'),
46
+ traces: z.array(z.object({
47
+ spans: z.array(spanSchema).min(1).describe('Units of work (at least one span)'),
48
+ common: z.object({
49
+ 'service.name': z.string().optional().describe('Default service for all spans'),
50
+ host: z.string().optional().describe('Default host for all spans'),
51
+ }).catchall(z.any()).optional().describe('Shared attributes (span values override)'),
52
+ })).min(1).describe('Traces to report'),
53
+ dataFormat: z.enum(['newrelic']).optional().describe("Format (default 'newrelic')"),
54
+ dataFormatVersion: z.string().optional().describe("Version (default '1')"),
55
+ }),
56
+ execute: async ({ ingestKey, traces, dataFormat, dataFormatVersion }) => {
57
+ try {
58
+ if (!ingestKey)
59
+ return { error: 'New Relic ingest key is required. Provide ingestKey.' };
60
+ const response = await fetch(TRACE_API_BASE, {
61
+ method: 'POST',
62
+ headers: {
63
+ 'Content-Type': 'application/json',
64
+ 'Api-Key': ingestKey,
65
+ 'Data-Format': dataFormat ?? 'newrelic',
66
+ 'Data-Format-Version': dataFormatVersion ?? '1',
67
+ },
68
+ body: JSON.stringify(traces),
69
+ });
70
+ const data = await response.json().catch(() => ({}));
71
+ if (!response.ok)
72
+ return { error: 'Failed to send traces', details: data };
73
+ return data;
74
+ }
75
+ catch (error) {
76
+ return { error: 'Error sending traces', message: error instanceof Error ? error.message : 'Unknown error' };
77
+ }
78
+ },
79
+ });
80
+ //# sourceMappingURL=ingest.js.map
@@ -0,0 +1,186 @@
1
+ export declare const createAiNotificationsChannel: import("ai").Tool<{
2
+ type: "WEBHOOK" | "EMAIL" | "SLACK" | "PAGERDUTY_ACCOUNT_INTEGRATION" | "PAGERDUTY_SERVICE_INTEGRATION" | "SERVICENOW_INCIDENTS" | "JIRA_CLASSIC" | "JIRA_NEXTGEN" | "MOBILE_PUSH";
3
+ product: "IINT" | "ERROR_TRACKING" | "DISCUSSIONS";
4
+ name: string;
5
+ properties: {
6
+ value: string;
7
+ key: string;
8
+ }[];
9
+ accountId: string;
10
+ destinationId: string;
11
+ newRelicApiKey?: string | undefined;
12
+ }, any>;
13
+ export declare const updateAiNotificationsChannel: import("ai").Tool<{
14
+ channel: {
15
+ name?: string | undefined;
16
+ active?: boolean | undefined;
17
+ };
18
+ accountId: string;
19
+ channelId: string;
20
+ newRelicApiKey?: string | undefined;
21
+ }, any>;
22
+ export declare const deleteAiNotificationsChannel: import("ai").Tool<{
23
+ accountId: string;
24
+ channelId: string;
25
+ newRelicApiKey?: string | undefined;
26
+ }, any>;
27
+ export declare const testAiNotificationsChannel: import("ai").Tool<{
28
+ channel: {
29
+ type: "WEBHOOK" | "EMAIL" | "SLACK" | "PAGERDUTY_ACCOUNT_INTEGRATION" | "PAGERDUTY_SERVICE_INTEGRATION" | "SERVICENOW_INCIDENTS" | "JIRA_CLASSIC" | "SLACK_COLLABORATION";
30
+ product: "IINT" | "ERROR_TRACKING" | "DISCUSSIONS";
31
+ name: string;
32
+ properties: {
33
+ value: string;
34
+ key: string;
35
+ }[];
36
+ destinationId: string;
37
+ };
38
+ accountId: number;
39
+ newRelicApiKey?: string | undefined;
40
+ }, any>;
41
+ export declare const testNotificationChannel: import("ai").Tool<{
42
+ accountId: number;
43
+ channelId: string;
44
+ newRelicApiKey?: string | undefined;
45
+ }, any>;
46
+ export declare const createAiNotificationsDestination: import("ai").Tool<{
47
+ destination: {
48
+ type: "WEBHOOK" | "EMAIL" | "SLACK" | "JIRA" | "SERVICENOW" | "PAGERDUTY";
49
+ name: string;
50
+ properties: {
51
+ value: string;
52
+ key: string;
53
+ }[];
54
+ auth?: {
55
+ type: "BASIC" | "TOKEN" | "OAUTH2";
56
+ basic?: {
57
+ user: string;
58
+ password: string;
59
+ } | undefined;
60
+ } | undefined;
61
+ };
62
+ accountId: number;
63
+ newRelicApiKey?: string | undefined;
64
+ }, any>;
65
+ export declare const updateAiNotificationsDestination: import("ai").Tool<{
66
+ destination: {
67
+ name: string;
68
+ };
69
+ accountId: number;
70
+ destinationId: string;
71
+ newRelicApiKey?: string | undefined;
72
+ }, any>;
73
+ export declare const deleteAiNotificationsDestination: import("ai").Tool<{
74
+ accountId: number;
75
+ destinationId: string;
76
+ newRelicApiKey?: string | undefined;
77
+ }, any>;
78
+ export declare const testAiNotificationsDestination: import("ai").Tool<{
79
+ destination: {
80
+ type: string;
81
+ name: string;
82
+ properties: {
83
+ value: string;
84
+ key: string;
85
+ }[];
86
+ };
87
+ accountId: number;
88
+ newRelicApiKey?: string | undefined;
89
+ }, any>;
90
+ export declare const testAiNotificationDestinationById: import("ai").Tool<{
91
+ accountId: number;
92
+ destinationId: string;
93
+ newRelicApiKey?: string | undefined;
94
+ }, any>;
95
+ export declare const createAiWorkflow: import("ai").Tool<{
96
+ name: string;
97
+ accountId: number;
98
+ issuesFilter: {
99
+ name: string;
100
+ predicates: {
101
+ values: string[];
102
+ operator: string;
103
+ attribute: string;
104
+ }[];
105
+ type?: string | undefined;
106
+ };
107
+ destinationConfigurations: {
108
+ channelId: string;
109
+ notificationTriggers: string[];
110
+ }[];
111
+ newRelicApiKey?: string | undefined;
112
+ enrichments?: {
113
+ nrql?: {
114
+ name: string;
115
+ nrql: string;
116
+ }[] | undefined;
117
+ } | undefined;
118
+ workflowEnabled?: boolean | undefined;
119
+ enrichmentsEnabled?: boolean | undefined;
120
+ destinationsEnabled?: boolean | undefined;
121
+ mutingRulesHandling?: "DONT_NOTIFY_FULLY_MUTED_ISSUES" | "NOTIFY_ALL_ISSUES" | "DONT_NOTIFY_FULLY_OR_PARTIALLY_MUTED_ISSUES" | undefined;
122
+ }, any>;
123
+ export declare const updateWorkflow: import("ai").Tool<{
124
+ accountId: number;
125
+ updateWorkflowData: {
126
+ id: string;
127
+ name?: string | undefined;
128
+ issuesFilter?: Record<string, any> | undefined;
129
+ destinationConfigurations?: {
130
+ channelId: string;
131
+ notificationTriggers?: string[] | undefined;
132
+ }[] | undefined;
133
+ enrichments?: Record<string, any>[] | undefined;
134
+ workflowEnabled?: boolean | undefined;
135
+ enrichmentsEnabled?: boolean | undefined;
136
+ destinationsEnabled?: boolean | undefined;
137
+ mutingRulesHandling?: string | undefined;
138
+ };
139
+ newRelicApiKey?: string | undefined;
140
+ }, any>;
141
+ export declare const createAlertChannel: import("ai").Tool<{
142
+ type: "email" | "slack" | "webhook" | "pagerduty" | "opsgenie" | "victorops";
143
+ name: string;
144
+ configuration: {
145
+ recipients?: string | undefined;
146
+ apiKey?: string | undefined;
147
+ url?: string | undefined;
148
+ key?: string | undefined;
149
+ teams?: string | undefined;
150
+ channel?: string | undefined;
151
+ tags?: string | undefined;
152
+ serviceKey?: string | undefined;
153
+ routeKey?: string | undefined;
154
+ authUsername?: string | undefined;
155
+ authPassword?: string | undefined;
156
+ };
157
+ newRelicApiKey?: string | undefined;
158
+ }, any>;
159
+ export declare const getAlertChannels: import("ai").Tool<{
160
+ page?: number | undefined;
161
+ newRelicApiKey?: string | undefined;
162
+ }, any>;
163
+ export declare const updateAlertChannel: import("ai").Tool<{
164
+ alertChannelId: number;
165
+ type?: "email" | "slack" | "webhook" | "pagerduty" | "opsgenie" | "victorops" | undefined;
166
+ name?: string | undefined;
167
+ newRelicApiKey?: string | undefined;
168
+ configuration?: {
169
+ recipients?: string | undefined;
170
+ apiKey?: string | undefined;
171
+ url?: string | undefined;
172
+ key?: string | undefined;
173
+ teams?: string | undefined;
174
+ channel?: string | undefined;
175
+ tags?: string | undefined;
176
+ serviceKey?: string | undefined;
177
+ routeKey?: string | undefined;
178
+ authUsername?: string | undefined;
179
+ authPassword?: string | undefined;
180
+ } | undefined;
181
+ }, any>;
182
+ export declare const deleteAlertChannel: import("ai").Tool<{
183
+ channelId: number;
184
+ newRelicApiKey?: string | undefined;
185
+ }, any>;
186
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1,232 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { accountIdField, nerdgraph, newRelicApiKeyField, restV2 } from './client.js';
5
+ const channelProperty = z.object({
6
+ key: z.string().describe("Property key, e.g. 'channelId', 'payload', 'subject'"),
7
+ value: z.string().describe('Property value (JSON payloads as escaped strings)'),
8
+ });
9
+ const CHANNEL_SELECT = 'channel { id name type }';
10
+ // ---- AI notification channels ----
11
+ export const createAiNotificationsChannel = tool({
12
+ description: 'Creates an AI Notifications channel for Applied Intelligence alerts. Needs a pre-existing destination (create one first).',
13
+ inputSchema: z.object({
14
+ newRelicApiKey: newRelicApiKeyField,
15
+ accountId: z.string().describe('Account ID for the channel'),
16
+ type: z.enum(['WEBHOOK', 'EMAIL', 'SLACK', 'PAGERDUTY_ACCOUNT_INTEGRATION', 'PAGERDUTY_SERVICE_INTEGRATION', 'SERVICENOW_INCIDENTS', 'JIRA_CLASSIC', 'JIRA_NEXTGEN', 'MOBILE_PUSH']),
17
+ name: z.string().describe("Channel name, e.g. 'Production Slack Alerts'"),
18
+ destinationId: z.string().describe('Destination UUID (create destination first)'),
19
+ product: z.enum(['IINT', 'ERROR_TRACKING', 'DISCUSSIONS']).describe('IINT = Applied Intelligence alerts'),
20
+ properties: z.array(channelProperty).min(1).describe("Type-specific props: SLACK needs channelId; WEBHOOK needs payload"),
21
+ }),
22
+ execute: async ({ newRelicApiKey, accountId, ...channel }) => nerdgraph(newRelicApiKey, `mutation($accountId: Int!, $channel: AiNotificationsChannelInput!) { aiNotificationsCreateChannel(accountId: $accountId, channel: $channel) { ${CHANNEL_SELECT} } }`, { accountId: Number(accountId), channel }, 'create AI notifications channel'),
23
+ });
24
+ export const updateAiNotificationsChannel = tool({
25
+ description: 'Updates an AI channel name or active status. Only provided fields change.',
26
+ inputSchema: z.object({
27
+ newRelicApiKey: newRelicApiKeyField,
28
+ accountId: z.string().describe('Account ID owning the channel'),
29
+ channelId: z.string().describe('Channel UUID to update'),
30
+ channel: z.object({
31
+ name: z.string().optional().describe('New channel name'),
32
+ active: z.boolean().optional().describe('Activate/deactivate'),
33
+ }).describe('Fields to update'),
34
+ }),
35
+ execute: async ({ newRelicApiKey, accountId, channelId, channel }) => nerdgraph(newRelicApiKey, `mutation($accountId: Int!, $channelId: ID!, $channel: AiNotificationsChannelUpdateInput!) { aiNotificationsUpdateChannel(accountId: $accountId, channelId: $channelId, channel: $channel) { ${CHANNEL_SELECT} } }`, { accountId: Number(accountId), channelId, channel }, 'update AI notifications channel'),
36
+ });
37
+ export const deleteAiNotificationsChannel = tool({
38
+ description: 'Deletes an AI notifications channel by ID after confirming ownership.',
39
+ inputSchema: z.object({
40
+ newRelicApiKey: newRelicApiKeyField,
41
+ accountId: z.string().describe('Account ID owning the channel'),
42
+ channelId: z.string().describe('Channel UUID to delete'),
43
+ }),
44
+ execute: async ({ newRelicApiKey, accountId, channelId }) => nerdgraph(newRelicApiKey, 'mutation($accountId: Int!, $channelId: ID!) { aiNotificationsDeleteChannel(accountId: $accountId, channelId: $channelId) { ids } }', { accountId: Number(accountId), channelId }, 'delete AI notifications channel'),
45
+ });
46
+ export const testAiNotificationsChannel = tool({
47
+ description: 'Tests an AI channel configuration before saving by sending a trial notification. Reports SUCCESS/FAIL.',
48
+ inputSchema: z.object({
49
+ newRelicApiKey: newRelicApiKeyField,
50
+ accountId: accountIdField('Account ID for the test'),
51
+ channel: z.object({
52
+ type: z.enum(['EMAIL', 'WEBHOOK', 'PAGERDUTY_ACCOUNT_INTEGRATION', 'PAGERDUTY_SERVICE_INTEGRATION', 'SLACK', 'SLACK_COLLABORATION', 'SERVICENOW_INCIDENTS', 'JIRA_CLASSIC']),
53
+ name: z.string().describe('Display name for the test channel'),
54
+ destinationId: z.string().describe('Destination endpoint UUID'),
55
+ product: z.enum(['DISCUSSIONS', 'ERROR_TRACKING', 'IINT']),
56
+ properties: z.array(channelProperty).min(1),
57
+ }).describe('Channel configuration to test'),
58
+ }),
59
+ execute: async ({ newRelicApiKey, accountId, channel }) => nerdgraph(newRelicApiKey, 'mutation($accountId: Int!, $channel: AiNotificationsChannelInput!) { aiNotificationsTestChannel(accountId: $accountId, channel: $channel) { result details error { details } } }', { accountId, channel }, 'test AI notifications channel'),
60
+ });
61
+ export const testNotificationChannel = tool({
62
+ description: 'Sends a test notification through an existing AI channel to verify it delivers correctly.',
63
+ inputSchema: z.object({
64
+ newRelicApiKey: newRelicApiKeyField,
65
+ accountId: accountIdField('Account ID owning the channel'),
66
+ channelId: z.string().describe('Channel UUID to test'),
67
+ }),
68
+ execute: async ({ newRelicApiKey, accountId, channelId }) => nerdgraph(newRelicApiKey, 'mutation($accountId: Int!, $channelId: ID!) { aiNotificationsTestChannelById(accountId: $accountId, channelId: $channelId) { result details error { details } } }', { accountId, channelId }, 'test notification channel'),
69
+ });
70
+ // ---- AI notification destinations ----
71
+ const destinationProperty = z.object({
72
+ key: z.string().describe("Property key, e.g. 'url' for Jira/webhook, 'email' for EMAIL"),
73
+ value: z.string().describe('Property value'),
74
+ });
75
+ export const createAiNotificationsDestination = tool({
76
+ description: 'Creates an AI notifications destination (Jira, ServiceNow, webhook, Slack, PagerDuty). Channels attach to destinations.',
77
+ inputSchema: z.object({
78
+ newRelicApiKey: newRelicApiKeyField,
79
+ accountId: accountIdField('Account ID for the destination'),
80
+ destination: z.object({
81
+ type: z.enum(['JIRA', 'SERVICENOW', 'WEBHOOK', 'EMAIL', 'SLACK', 'PAGERDUTY']),
82
+ name: z.string().describe('Destination name'),
83
+ properties: z.array(destinationProperty).min(1).describe("Config props: Jira needs 'url'"),
84
+ auth: z.object({
85
+ type: z.enum(['BASIC', 'TOKEN', 'OAUTH2']),
86
+ basic: z.object({ user: z.string(), password: z.string() }).optional().describe('BASIC credentials'),
87
+ }).optional(),
88
+ }).describe('Destination configuration'),
89
+ }),
90
+ execute: async ({ newRelicApiKey, accountId, destination }) => nerdgraph(newRelicApiKey, 'mutation($accountId: Int!, $destination: AiNotificationsDestinationInput!) { aiNotificationsCreateDestination(accountId: $accountId, destination: $destination) { destination { id name } error { type description } } }', { accountId, destination }, 'create AI notifications destination'),
91
+ });
92
+ export const updateAiNotificationsDestination = tool({
93
+ description: 'Renames an AI destination. Partial update — only provided fields change.',
94
+ inputSchema: z.object({
95
+ newRelicApiKey: newRelicApiKeyField,
96
+ accountId: accountIdField('Account ID owning the destination'),
97
+ destinationId: z.string().describe('Destination UUID to update'),
98
+ destination: z.object({ name: z.string().describe('New destination name') }).describe('Fields to update'),
99
+ }),
100
+ execute: async ({ newRelicApiKey, accountId, destinationId, destination }) => nerdgraph(newRelicApiKey, 'mutation($accountId: Int!, $destinationId: ID!, $destination: AiNotificationsDestinationUpdateInput!) { aiNotificationsUpdateDestination(accountId: $accountId, destinationId: $destinationId, destination: $destination) { destination { id name type } error { type description } } }', { accountId, destinationId, destination }, 'update AI notifications destination'),
101
+ });
102
+ export const deleteAiNotificationsDestination = tool({
103
+ description: 'Deletes an AI notifications destination by ID after confirming ownership.',
104
+ inputSchema: z.object({
105
+ newRelicApiKey: newRelicApiKeyField,
106
+ accountId: accountIdField('Account ID owning the destination'),
107
+ destinationId: z.string().describe('Destination UUID to delete'),
108
+ }),
109
+ execute: async ({ newRelicApiKey, accountId, destinationId }) => nerdgraph(newRelicApiKey, 'mutation($accountId: Int!, $destinationId: ID!) { aiNotificationsDeleteDestination(accountId: $accountId, destinationId: $destinationId) { ids } }', { accountId, destinationId }, 'delete AI notifications destination'),
110
+ });
111
+ export const testAiNotificationsDestination = tool({
112
+ description: 'Validates a destination configuration (EMAIL/WEBHOOK/etc.) before or after creating it.',
113
+ inputSchema: z.object({
114
+ newRelicApiKey: newRelicApiKeyField,
115
+ accountId: accountIdField('Account ID for the test'),
116
+ destination: z.object({
117
+ type: z.string().describe("Destination type, e.g. 'EMAIL', 'WEBHOOK', 'SLACK_COLLABORATION'"),
118
+ name: z.string().describe('Test destination name'),
119
+ properties: z.array(destinationProperty).min(1).describe("EMAIL needs 'email'; WEBHOOK needs 'url'"),
120
+ }).describe('Destination configuration to test'),
121
+ }),
122
+ execute: async ({ newRelicApiKey, accountId, destination }) => nerdgraph(newRelicApiKey, 'mutation($accountId: Int!, $destination: AiNotificationsDestinationInput!) { aiNotificationsTestDestination(accountId: $accountId, destination: $destination) { result details error { details } } }', { accountId, destination }, 'test AI notifications destination'),
123
+ });
124
+ export const testAiNotificationDestinationById = tool({
125
+ description: 'Tests an existing destination by UUID to verify it can receive messages.',
126
+ inputSchema: z.object({
127
+ newRelicApiKey: newRelicApiKeyField,
128
+ accountId: accountIdField('Account ID owning the destination'),
129
+ destinationId: z.string().describe('Destination UUID to test'),
130
+ }),
131
+ execute: async ({ newRelicApiKey, accountId, destinationId }) => nerdgraph(newRelicApiKey, 'mutation($accountId: Int!, $destinationId: ID!) { aiNotificationsTestDestinationById(accountId: $accountId, destinationId: $destinationId) { result details error { details } } }', { accountId, destinationId }, 'test AI notification destination by ID'),
132
+ });
133
+ // ---- AI workflows ----
134
+ const workflowPredicate = z.object({
135
+ attribute: z.string().describe("Filter attribute, e.g. 'priority', 'labels.policyIds'"),
136
+ operator: z.string().describe("Operator, e.g. 'EQUAL', 'EXACTLY_MATCHES', 'CONTAINS'"),
137
+ values: z.array(z.string()).min(1),
138
+ });
139
+ export const createAiWorkflow = tool({
140
+ description: 'Creates an AI workflow routing filtered issues to channels with optional NRQL enrichments. Needs channel UUIDs from AI channels first.',
141
+ inputSchema: z.object({
142
+ newRelicApiKey: newRelicApiKeyField,
143
+ accountId: accountIdField('Account ID for the workflow'),
144
+ name: z.string().describe("Workflow name, e.g. 'Production Alert Workflow'"),
145
+ issuesFilter: z.object({
146
+ name: z.string().describe('Filter name'),
147
+ type: z.string().optional().describe("Must be 'FILTER' if provided"),
148
+ predicates: z.array(workflowPredicate).min(1),
149
+ }).describe('Which issues trigger the workflow (at least one predicate)'),
150
+ destinationConfigurations: z.array(z.object({
151
+ channelId: z.string().describe('Notification channel UUID'),
152
+ notificationTriggers: z.array(z.string()).min(1).describe("e.g. ['ACTIVATED','CLOSED']"),
153
+ })).min(1).describe('Channels to notify (at least one)'),
154
+ enrichments: z.object({ nrql: z.array(z.object({ name: z.string(), nrql: z.string() })).optional() }).optional().describe('NRQL enrichments adding context'),
155
+ workflowEnabled: z.boolean().optional().describe('Active on creation (default true)'),
156
+ enrichmentsEnabled: z.boolean().optional(),
157
+ destinationsEnabled: z.boolean().optional(),
158
+ mutingRulesHandling: z.enum(['DONT_NOTIFY_FULLY_MUTED_ISSUES', 'NOTIFY_ALL_ISSUES', 'DONT_NOTIFY_FULLY_OR_PARTIALLY_MUTED_ISSUES']).optional(),
159
+ }),
160
+ execute: async ({ newRelicApiKey, accountId, ...workflow }) => nerdgraph(newRelicApiKey, `mutation($accountId: Int!, $workflow: AiWorkflowsCreateWorkflowInput!) { aiWorkflowsCreateWorkflow(accountId: $accountId, workflow: $workflow) { workflow { id name workflowEnabled destinationsEnabled } errors { type description } } }`, { accountId, workflow: { workflowEnabled: true, destinationsEnabled: true, ...workflow } }, 'create AI workflow'),
161
+ });
162
+ export const updateWorkflow = tool({
163
+ description: 'Updates an AI workflow (name, toggles, destinations, enrichments, filters). Only the ID is required; other fields change if provided.',
164
+ inputSchema: z.object({
165
+ newRelicApiKey: newRelicApiKeyField,
166
+ accountId: accountIdField('Account ID owning the workflow'),
167
+ updateWorkflowData: z.object({
168
+ id: z.string().describe('Workflow UUID to update'),
169
+ name: z.string().optional(),
170
+ workflowEnabled: z.boolean().optional(),
171
+ enrichmentsEnabled: z.boolean().optional(),
172
+ destinationsEnabled: z.boolean().optional(),
173
+ mutingRulesHandling: z.string().optional(),
174
+ enrichments: z.array(z.record(z.any())).optional(),
175
+ issuesFilter: z.record(z.any()).optional().describe("Filter update wrapped as {filterInput: {name, type, predicates}}"),
176
+ destinationConfigurations: z.array(z.object({ channelId: z.string(), notificationTriggers: z.array(z.string()).optional() })).optional(),
177
+ }).describe('Workflow update (id required)'),
178
+ }),
179
+ execute: async ({ newRelicApiKey, accountId, updateWorkflowData }) => nerdgraph(newRelicApiKey, 'mutation($accountId: Int!, $updateWorkflowData: AiWorkflowsUpdateWorkflowInput!) { aiWorkflowsUpdateWorkflow(accountId: $accountId, updateWorkflowData: $updateWorkflowData) { workflow { id name workflowEnabled } errors { type description } } }', { accountId, updateWorkflowData }, 'update AI workflow'),
180
+ });
181
+ // ---- Legacy REST notification channels ----
182
+ const channelConfig = z.object({
183
+ recipients: z.string().optional().describe("Email: comma-separated addresses (required for 'email')"),
184
+ url: z.string().optional().describe("Webhook/Slack URL (required for 'webhook'/'slack')"),
185
+ channel: z.string().optional().describe("Slack channel name without '#'"),
186
+ serviceKey: z.string().optional().describe("PagerDuty service key (required for 'pagerduty')"),
187
+ apiKey: z.string().optional().describe("OpsGenie API key (required for 'opsgenie')"),
188
+ tags: z.string().optional().describe('OpsGenie tags'),
189
+ teams: z.string().optional().describe('OpsGenie teams'),
190
+ routeKey: z.string().optional().describe("VictorOps routing key (required for 'victorops')"),
191
+ key: z.string().optional().describe("VictorOps API key (required for 'victorops')"),
192
+ authUsername: z.string().optional().describe('Webhook basic-auth username'),
193
+ authPassword: z.string().optional().describe('Webhook basic-auth password'),
194
+ }).describe('Type-specific channel configuration');
195
+ export const createAlertChannel = tool({
196
+ description: 'Registers a legacy alert channel endpoint (email, Slack, webhook, PagerDuty, OpsGenie, VictorOps). Link it to policies afterwards.',
197
+ inputSchema: z.object({
198
+ newRelicApiKey: newRelicApiKeyField,
199
+ type: z.enum(['email', 'slack', 'webhook', 'pagerduty', 'opsgenie', 'victorops']),
200
+ name: z.string().describe('Human-readable channel name'),
201
+ configuration: channelConfig,
202
+ }),
203
+ execute: async ({ newRelicApiKey, ...channel }) => restV2(newRelicApiKey, 'POST', '/alerts_channels.json', { body: { channel } }, 'create alert channel'),
204
+ });
205
+ export const getAlertChannels = tool({
206
+ description: 'Lists legacy alert channels (IDs, names, types, policy links) to discover linkable channels. Paginated.',
207
+ inputSchema: z.object({
208
+ newRelicApiKey: newRelicApiKeyField,
209
+ page: z.number().int().min(1).optional().describe('Page number (1-indexed)'),
210
+ }),
211
+ execute: async ({ newRelicApiKey, page }) => restV2(newRelicApiKey, 'GET', '/alerts_channels.json', { query: { page } }, 'list alert channels'),
212
+ });
213
+ export const updateAlertChannel = tool({
214
+ description: 'Updates a legacy alert channel (name, type, configuration) after verifying its ID.',
215
+ inputSchema: z.object({
216
+ newRelicApiKey: newRelicApiKeyField,
217
+ alertChannelId: z.number().int().min(1).describe('Channel ID to update'),
218
+ name: z.string().optional().describe('New channel name'),
219
+ type: z.enum(['email', 'slack', 'webhook', 'pagerduty', 'opsgenie', 'victorops']).optional().describe('Provide only to change type'),
220
+ configuration: channelConfig.optional(),
221
+ }),
222
+ execute: async ({ newRelicApiKey, alertChannelId, ...channel }) => restV2(newRelicApiKey, 'PUT', `/alerts_channels/${alertChannelId}.json`, { body: { channel } }, 'update alert channel'),
223
+ });
224
+ export const deleteAlertChannel = tool({
225
+ description: 'Deletes a legacy alert channel by ID after confirming ownership.',
226
+ inputSchema: z.object({
227
+ newRelicApiKey: newRelicApiKeyField,
228
+ channelId: z.number().int().describe('Channel ID to delete'),
229
+ }),
230
+ execute: async ({ newRelicApiKey, channelId }) => restV2(newRelicApiKey, 'DELETE', `/alerts_channels/${channelId}.json`, undefined, 'delete alert channel'),
231
+ });
232
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1,105 @@
1
+ export declare const createStaticNrqlCondition: import("ai").Tool<{
2
+ name: string;
3
+ accountId: number;
4
+ policyId: string;
5
+ nrql: {
6
+ query: string;
7
+ };
8
+ signal: {
9
+ aggregationWindow: number;
10
+ aggregationMethod: "EVENT_FLOW" | "EVENT_TIMER" | "CADENCE";
11
+ aggregationDelay?: number | undefined;
12
+ };
13
+ terms: {
14
+ priority: "CRITICAL" | "WARNING";
15
+ threshold: number;
16
+ thresholdDuration: number;
17
+ thresholdOccurrences: "ALL" | "AT_LEAST_ONCE";
18
+ operator: "ABOVE" | "ABOVE_OR_EQUALS" | "BELOW" | "BELOW_OR_EQUALS" | "EQUALS" | "NOT_EQUALS";
19
+ };
20
+ valueFunction: "SINGLE_VALUE" | "SUM";
21
+ violationTimeLimitSeconds: number;
22
+ description?: string | undefined;
23
+ enabled?: boolean | undefined;
24
+ newRelicApiKey?: string | undefined;
25
+ expiration?: {
26
+ expirationDuration?: number | undefined;
27
+ openViolationOnExpiration?: boolean | undefined;
28
+ closeViolationsOnExpiration?: boolean | undefined;
29
+ } | undefined;
30
+ }, any>;
31
+ export declare const updateStaticNrqlCondition: import("ai").Tool<{
32
+ id: string;
33
+ accountId: number;
34
+ condition: Record<string, any>;
35
+ newRelicApiKey?: string | undefined;
36
+ }, any>;
37
+ export declare const createNrqlBaselineCondition: import("ai").Tool<{
38
+ accountId: number;
39
+ policyId: number;
40
+ condition: {
41
+ name: string;
42
+ enabled: boolean;
43
+ nrql: {
44
+ query: string;
45
+ };
46
+ signal: {
47
+ aggregationWindow: number;
48
+ aggregationMethod: "EVENT_FLOW" | "EVENT_TIMER" | "CADENCE";
49
+ aggregationDelay?: number | undefined;
50
+ };
51
+ terms: {
52
+ priority: "CRITICAL" | "WARNING";
53
+ threshold: number;
54
+ thresholdDuration: number;
55
+ thresholdOccurrences: "ALL" | "AT_LEAST_ONCE";
56
+ operator: "ABOVE" | "BELOW" | "EQUALS";
57
+ }[];
58
+ baselineDirection: "LOWER_ONLY" | "UPPER_ONLY" | "UPPER_AND_LOWER";
59
+ description?: string | undefined;
60
+ runbookUrl?: string | undefined;
61
+ };
62
+ newRelicApiKey?: string | undefined;
63
+ }, any>;
64
+ export declare const updateNrqlBaselineCondition: import("ai").Tool<{
65
+ id: string;
66
+ accountId: number;
67
+ condition: Record<string, any>;
68
+ newRelicApiKey?: string | undefined;
69
+ }, any>;
70
+ export declare const createNrqlCondition: import("ai").Tool<{
71
+ policyId: number;
72
+ nrqlCondition: {
73
+ name: string;
74
+ enabled: boolean;
75
+ nrql: {
76
+ query: string;
77
+ };
78
+ terms: {
79
+ priority: "warning" | "critical";
80
+ duration: string;
81
+ threshold: string;
82
+ operator: "above" | "below" | "equal";
83
+ timeFunction: "all" | "any";
84
+ }[];
85
+ type?: "static" | undefined;
86
+ valueFunction?: string | undefined;
87
+ runbookUrl?: string | undefined;
88
+ };
89
+ newRelicApiKey?: string | undefined;
90
+ }, any>;
91
+ export declare const updateNrqlCondition: import("ai").Tool<{
92
+ nrqlCondition: Record<string, any>;
93
+ conditionId: number;
94
+ newRelicApiKey?: string | undefined;
95
+ }, any>;
96
+ export declare const deleteNrqlCondition: import("ai").Tool<{
97
+ conditionId: number;
98
+ newRelicApiKey?: string | undefined;
99
+ }, any>;
100
+ export declare const listNrqlConditions: import("ai").Tool<{
101
+ policyId: number;
102
+ page?: number | undefined;
103
+ newRelicApiKey?: string | undefined;
104
+ }, any>;
105
+ //# sourceMappingURL=nrql-conditions.d.ts.map