@rnsk/toolkits 0.0.10 → 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 (292) hide show
  1. package/README.md +12 -2
  2. package/dist/index.d.ts +11 -1
  3. package/dist/index.js +21 -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/hostinger/tools/index.d.ts +1 -1
  105. package/dist/toolkits/hostinger/tools/whois.d.ts +1 -1
  106. package/dist/toolkits/hugging-face/tools/datasets-viewer.d.ts +1 -1
  107. package/dist/toolkits/hugging-face/tools/datasets.d.ts +1 -1
  108. package/dist/toolkits/hugging-face/tools/index.d.ts +1 -1
  109. package/dist/toolkits/hugging-face/tools/models.d.ts +1 -1
  110. package/dist/toolkits/hugging-face/tools/repos.d.ts +1 -1
  111. package/dist/toolkits/hugging-face/tools/spaces.d.ts +1 -1
  112. package/dist/toolkits/jira/tools/index.d.ts +4 -4
  113. package/dist/toolkits/jira/tools/meta.d.ts +2 -2
  114. package/dist/toolkits/jira/tools/users.d.ts +3 -3
  115. package/dist/toolkits/kaggle/icon.d.ts +5 -0
  116. package/dist/toolkits/kaggle/icon.js +6 -0
  117. package/dist/toolkits/kaggle/manifest.d.ts +3 -0
  118. package/dist/toolkits/kaggle/manifest.js +32 -0
  119. package/dist/toolkits/kaggle/tools/client.d.ts +10 -0
  120. package/dist/toolkits/kaggle/tools/client.js +94 -0
  121. package/dist/toolkits/kaggle/tools/competitions.d.ts +48 -0
  122. package/dist/toolkits/kaggle/tools/competitions.js +109 -0
  123. package/dist/toolkits/kaggle/tools/config.d.ts +110 -0
  124. package/dist/toolkits/kaggle/tools/config.js +256 -0
  125. package/dist/toolkits/kaggle/tools/datasets.d.ts +88 -0
  126. package/dist/toolkits/kaggle/tools/datasets.js +161 -0
  127. package/dist/toolkits/kaggle/tools/index.d.ts +482 -0
  128. package/dist/toolkits/kaggle/tools/index.js +53 -0
  129. package/dist/toolkits/kaggle/tools/kernels.d.ts +62 -0
  130. package/dist/toolkits/kaggle/tools/kernels.js +121 -0
  131. package/dist/toolkits/kaggle/tools/model_instance_files.d.ts +11 -0
  132. package/dist/toolkits/kaggle/tools/model_instance_files.js +23 -0
  133. package/dist/toolkits/kaggle/tools/model_instances.d.ts +8 -0
  134. package/dist/toolkits/kaggle/tools/model_instances.js +20 -0
  135. package/dist/toolkits/kaggle/tools/models.d.ts +14 -0
  136. package/dist/toolkits/kaggle/tools/models.js +33 -0
  137. package/dist/toolkits/nasa/icon.d.ts +5 -0
  138. package/dist/toolkits/nasa/icon.js +56 -0
  139. package/dist/toolkits/nasa/manifest.d.ts +3 -0
  140. package/dist/toolkits/nasa/manifest.js +49 -0
  141. package/dist/toolkits/nasa/tools/agage.d.ts +60 -0
  142. package/dist/toolkits/nasa/tools/agage.js +176 -0
  143. package/dist/toolkits/nasa/tools/client.d.ts +95 -0
  144. package/dist/toolkits/nasa/tools/client.js +337 -0
  145. package/dist/toolkits/nasa/tools/cmr.d.ts +268 -0
  146. package/dist/toolkits/nasa/tools/cmr.js +984 -0
  147. package/dist/toolkits/nasa/tools/donki.d.ts +63 -0
  148. package/dist/toolkits/nasa/tools/donki.js +301 -0
  149. package/dist/toolkits/nasa/tools/eonet.d.ts +74 -0
  150. package/dist/toolkits/nasa/tools/eonet.js +279 -0
  151. package/dist/toolkits/nasa/tools/icesat2.d.ts +25 -0
  152. package/dist/toolkits/nasa/tools/icesat2.js +97 -0
  153. package/dist/toolkits/nasa/tools/imagery.d.ts +36 -0
  154. package/dist/toolkits/nasa/tools/imagery.js +138 -0
  155. package/dist/toolkits/nasa/tools/index.d.ts +1063 -0
  156. package/dist/toolkits/nasa/tools/index.js +865 -0
  157. package/dist/toolkits/nasa/tools/neo.d.ts +15 -0
  158. package/dist/toolkits/nasa/tools/neo.js +75 -0
  159. package/dist/toolkits/nasa/tools/ntrs.d.ts +152 -0
  160. package/dist/toolkits/nasa/tools/ntrs.js +292 -0
  161. package/dist/toolkits/nasa/tools/osdr.d.ts +72 -0
  162. package/dist/toolkits/nasa/tools/osdr.js +290 -0
  163. package/dist/toolkits/nasa/tools/planetary.d.ts +58 -0
  164. package/dist/toolkits/nasa/tools/planetary.js +312 -0
  165. package/dist/toolkits/nasa/tools/power.d.ts +52 -0
  166. package/dist/toolkits/nasa/tools/power.js +213 -0
  167. package/dist/toolkits/nasa/tools/ssc.d.ts +44 -0
  168. package/dist/toolkits/nasa/tools/ssc.js +92 -0
  169. package/dist/toolkits/nasa/tools/tolnet.d.ts +84 -0
  170. package/dist/toolkits/nasa/tools/tolnet.js +254 -0
  171. package/dist/toolkits/neo4j/tools/analytics.d.ts +1 -1
  172. package/dist/toolkits/neo4j/tools/index.d.ts +3 -3
  173. package/dist/toolkits/neo4j/tools/instances.d.ts +2 -2
  174. package/dist/toolkits/neon/tools/auth.d.ts +4 -4
  175. package/dist/toolkits/neon/tools/dataapi.d.ts +1 -1
  176. package/dist/toolkits/neon/tools/index.d.ts +7 -7
  177. package/dist/toolkits/neon/tools/projects.d.ts +2 -2
  178. package/dist/toolkits/new-relic/icon.d.ts +5 -0
  179. package/dist/toolkits/new-relic/icon.js +6 -0
  180. package/dist/toolkits/new-relic/manifest.d.ts +3 -0
  181. package/dist/toolkits/new-relic/manifest.js +41 -0
  182. package/dist/toolkits/new-relic/tools/admin.d.ts +310 -0
  183. package/dist/toolkits/new-relic/tools/admin.js +282 -0
  184. package/dist/toolkits/new-relic/tools/alert-policies.d.ts +74 -0
  185. package/dist/toolkits/new-relic/tools/alert-policies.js +136 -0
  186. package/dist/toolkits/new-relic/tools/apm.d.ts +129 -0
  187. package/dist/toolkits/new-relic/tools/apm.js +228 -0
  188. package/dist/toolkits/new-relic/tools/client.d.ts +62 -0
  189. package/dist/toolkits/new-relic/tools/client.js +167 -0
  190. package/dist/toolkits/new-relic/tools/conditions.d.ts +190 -0
  191. package/dist/toolkits/new-relic/tools/conditions.js +265 -0
  192. package/dist/toolkits/new-relic/tools/config.d.ts +73 -0
  193. package/dist/toolkits/new-relic/tools/config.js +131 -0
  194. package/dist/toolkits/new-relic/tools/dashboards.d.ts +204 -0
  195. package/dist/toolkits/new-relic/tools/dashboards.js +159 -0
  196. package/dist/toolkits/new-relic/tools/entities.d.ts +160 -0
  197. package/dist/toolkits/new-relic/tools/entities.js +218 -0
  198. package/dist/toolkits/new-relic/tools/index.d.ts +23 -0
  199. package/dist/toolkits/new-relic/tools/index.js +179 -0
  200. package/dist/toolkits/new-relic/tools/ingest.d.ts +31 -0
  201. package/dist/toolkits/new-relic/tools/ingest.js +80 -0
  202. package/dist/toolkits/new-relic/tools/notifications.d.ts +186 -0
  203. package/dist/toolkits/new-relic/tools/notifications.js +232 -0
  204. package/dist/toolkits/new-relic/tools/nrql-conditions.d.ts +105 -0
  205. package/dist/toolkits/new-relic/tools/nrql-conditions.js +136 -0
  206. package/dist/toolkits/new-relic/tools/nrql.d.ts +38 -0
  207. package/dist/toolkits/new-relic/tools/nrql.js +99 -0
  208. package/dist/toolkits/new-relic/tools/synthetics.d.ts +176 -0
  209. package/dist/toolkits/new-relic/tools/synthetics.js +246 -0
  210. package/dist/toolkits/notebook-lm/icon.d.ts +5 -0
  211. package/dist/toolkits/notebook-lm/icon.js +6 -0
  212. package/dist/toolkits/notebook-lm/manifest.d.ts +3 -0
  213. package/dist/toolkits/notebook-lm/manifest.js +44 -0
  214. package/dist/toolkits/notebook-lm/tools/add-text-sources.d.ts +36 -0
  215. package/dist/toolkits/notebook-lm/tools/add-text-sources.js +51 -0
  216. package/dist/toolkits/notebook-lm/tools/create-audio-overview.d.ts +47 -0
  217. package/dist/toolkits/notebook-lm/tools/create-audio-overview.js +55 -0
  218. package/dist/toolkits/notebook-lm/tools/create-notebook.d.ts +52 -0
  219. package/dist/toolkits/notebook-lm/tools/create-notebook.js +49 -0
  220. package/dist/toolkits/notebook-lm/tools/delete-audio-overview.d.ts +33 -0
  221. package/dist/toolkits/notebook-lm/tools/delete-audio-overview.js +46 -0
  222. package/dist/toolkits/notebook-lm/tools/delete-notebooks.d.ts +32 -0
  223. package/dist/toolkits/notebook-lm/tools/delete-notebooks.js +46 -0
  224. package/dist/toolkits/notebook-lm/tools/delete-sources.d.ts +33 -0
  225. package/dist/toolkits/notebook-lm/tools/delete-sources.js +47 -0
  226. package/dist/toolkits/notebook-lm/tools/get-notebook.d.ts +52 -0
  227. package/dist/toolkits/notebook-lm/tools/get-notebook.js +45 -0
  228. package/dist/toolkits/notebook-lm/tools/get-source.d.ts +53 -0
  229. package/dist/toolkits/notebook-lm/tools/get-source.js +47 -0
  230. package/dist/toolkits/notebook-lm/tools/index.d.ts +516 -0
  231. package/dist/toolkits/notebook-lm/tools/index.js +93 -0
  232. package/dist/toolkits/notebook-lm/tools/list-recent-notebooks.d.ts +32 -0
  233. package/dist/toolkits/notebook-lm/tools/list-recent-notebooks.js +41 -0
  234. package/dist/toolkits/notebook-lm/tools/share-notebook.d.ts +48 -0
  235. package/dist/toolkits/notebook-lm/tools/share-notebook.js +57 -0
  236. package/dist/toolkits/notebook-lm/tools/upload-source-file.d.ts +40 -0
  237. package/dist/toolkits/notebook-lm/tools/upload-source-file.js +62 -0
  238. package/dist/toolkits/notebook-lm/tools/utils.d.ts +15 -0
  239. package/dist/toolkits/notebook-lm/tools/utils.js +46 -0
  240. package/dist/toolkits/npm/icon.d.ts +5 -0
  241. package/dist/toolkits/npm/icon.js +11 -0
  242. package/dist/toolkits/npm/manifest.d.ts +3 -0
  243. package/dist/toolkits/npm/manifest.js +35 -0
  244. package/dist/toolkits/npm/tools/client.d.ts +19 -0
  245. package/dist/toolkits/npm/tools/client.js +64 -0
  246. package/dist/toolkits/npm/tools/downloads.d.ts +19 -0
  247. package/dist/toolkits/npm/tools/downloads.js +39 -0
  248. package/dist/toolkits/npm/tools/index.d.ts +14 -0
  249. package/dist/toolkits/npm/tools/index.js +24 -0
  250. package/dist/toolkits/npm/tools/registry.d.ts +24 -0
  251. package/dist/toolkits/npm/tools/registry.js +58 -0
  252. package/dist/toolkits/npm/tools/security.d.ts +9 -0
  253. package/dist/toolkits/npm/tools/security.js +29 -0
  254. package/dist/toolkits/slack/tools/admin-users.d.ts +1 -1
  255. package/dist/toolkits/slack/tools/slack-lists.d.ts +3 -3
  256. package/dist/toolkits/snowflake/icon.d.ts +5 -0
  257. package/dist/toolkits/snowflake/icon.js +6 -0
  258. package/dist/toolkits/snowflake/manifest.d.ts +3 -0
  259. package/dist/toolkits/snowflake/manifest.js +32 -0
  260. package/dist/toolkits/snowflake/tools/catalog.d.ts +56 -0
  261. package/dist/toolkits/snowflake/tools/catalog.js +123 -0
  262. package/dist/toolkits/snowflake/tools/client.d.ts +53 -0
  263. package/dist/toolkits/snowflake/tools/client.js +145 -0
  264. package/dist/toolkits/snowflake/tools/index.d.ts +14 -0
  265. package/dist/toolkits/snowflake/tools/index.js +28 -0
  266. package/dist/toolkits/snowflake/tools/statements.d.ts +27 -0
  267. package/dist/toolkits/snowflake/tools/statements.js +84 -0
  268. package/dist/toolkits/snowflake/tools/status.d.ts +22 -0
  269. package/dist/toolkits/snowflake/tools/status.js +54 -0
  270. package/dist/toolkits/telegram/icon.d.ts +5 -0
  271. package/dist/toolkits/telegram/icon.js +6 -0
  272. package/dist/toolkits/telegram/manifest.d.ts +3 -0
  273. package/dist/toolkits/telegram/manifest.js +34 -0
  274. package/dist/toolkits/telegram/tools/bot.d.ts +13 -0
  275. package/dist/toolkits/telegram/tools/bot.js +23 -0
  276. package/dist/toolkits/telegram/tools/chats.d.ts +22 -0
  277. package/dist/toolkits/telegram/tools/chats.js +46 -0
  278. package/dist/toolkits/telegram/tools/client.d.ts +12 -0
  279. package/dist/toolkits/telegram/tools/client.js +46 -0
  280. package/dist/toolkits/telegram/tools/index.d.ts +15 -0
  281. package/dist/toolkits/telegram/tools/index.js +31 -0
  282. package/dist/toolkits/telegram/tools/messages.d.ts +86 -0
  283. package/dist/toolkits/telegram/tools/messages.js +134 -0
  284. package/dist/toolkits/telegram/tools/updates.d.ts +23 -0
  285. package/dist/toolkits/telegram/tools/updates.js +54 -0
  286. package/dist/toolkits/youtube/tools/get-channel-activities.d.ts +1 -1
  287. package/dist/toolkits/youtube/tools/index.d.ts +5 -5
  288. package/dist/toolkits/youtube/tools/list-channel-sections.d.ts +1 -1
  289. package/dist/toolkits/youtube/tools/post-comment.d.ts +1 -1
  290. package/dist/toolkits/youtube/tools/subscribe-channel.d.ts +1 -1
  291. package/dist/toolkits/youtube/tools/unsubscribe-channel.d.ts +1 -1
  292. package/package.json +2 -3
@@ -0,0 +1,15 @@
1
+ export declare const nasaBrowseNeo: import("ai").Tool<{
2
+ size?: number | undefined;
3
+ page?: number | undefined;
4
+ nasaApiKey?: string | undefined;
5
+ }, any>;
6
+ export declare const nasaGetNeoLookup: import("ai").Tool<{
7
+ asteroidId: string;
8
+ nasaApiKey?: string | undefined;
9
+ }, any>;
10
+ export declare const nasaSearchNearEarthObjects: import("ai").Tool<{
11
+ startDate: string;
12
+ endDate?: string | undefined;
13
+ nasaApiKey?: string | undefined;
14
+ }, any>;
15
+ //# sourceMappingURL=neo.d.ts.map
@@ -0,0 +1,75 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { nasaGet, toNasaError, requireApiKey, enc } from './client.js';
5
+ export const nasaBrowseNeo = tool({
6
+ description: "Browse the complete NASA near-Earth object (asteroid) dataset with pagination support. Returns comprehensive asteroid data including orbital parameters, estimated diameters, close approach events, and hazard classifications. Use this when you need to explore the entire NEO catalog or retrieve multiple asteroids across pages.",
7
+ inputSchema: z.object({
8
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
9
+ page: z.number().int().min(0).optional().describe("Page number for pagination. Use this to navigate through the complete asteroid dataset. Page numbering starts at 0."),
10
+ size: z.number().int().min(1).optional().describe("Number of results per page. Controls how many asteroids are returned in a single request. Default varies by API configuration."),
11
+ }),
12
+ execute: async ({ nasaApiKey, page, size }) => {
13
+ const missing = requireApiKey(nasaApiKey);
14
+ if (missing)
15
+ return missing;
16
+ try {
17
+ const query = {};
18
+ if (page !== undefined)
19
+ query["page"] = page;
20
+ if (size !== undefined)
21
+ query["size"] = size;
22
+ query['api_key'] = nasaApiKey;
23
+ return await nasaGet("https://api.nasa.gov", `/neo/rest/v1/neo/browse`, { query });
24
+ }
25
+ catch (error) {
26
+ return toNasaError(error, "Failed to browse neo");
27
+ }
28
+ },
29
+ });
30
+ export const nasaGetNeoLookup = tool({
31
+ description: "Lookup a specific asteroid by its NASA SPK-ID. Returns detailed orbital and physical data including estimated diameter, close approach history, and hazard classification. Use when you need comprehensive information about a specific known asteroid.",
32
+ inputSchema: z.object({
33
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
34
+ asteroidId: z.string().describe("Asteroid SPK-ID for lookup. This is the unique identifier assigned by NASA to each asteroid (e.g., '3542519')."),
35
+ }),
36
+ execute: async ({ nasaApiKey, asteroidId }) => {
37
+ const missing = requireApiKey(nasaApiKey);
38
+ if (missing)
39
+ return missing;
40
+ try {
41
+ const query = {};
42
+ query['api_key'] = nasaApiKey;
43
+ return await nasaGet("https://api.nasa.gov", `/neo/rest/v1/neo/${enc(asteroidId)}`, { query });
44
+ }
45
+ catch (error) {
46
+ return toNasaError(error, "Failed to get neo lookup");
47
+ }
48
+ },
49
+ });
50
+ export const nasaSearchNearEarthObjects = tool({
51
+ description: "Search for near-Earth objects (asteroids) by their closest approach date to Earth. Returns detailed information about asteroids including: - Estimated diameter in multiple units (kilometers, meters, miles, feet) - Close approach data with velocity and miss distance - Hazard classification (potentially hazardous or not) - NASA JPL reference URLs for detailed information Use this tool when you need to find asteroids approaching Earth within a specific date range (max 7 days). Useful for tracking asteroid activity, identifying potentially hazardous objects, or researching specific time periods.",
52
+ inputSchema: z.object({
53
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
54
+ endDate: z.string().optional().describe("End date for asteroid search in YYYY-MM-DD format (e.g., '2024-01-20'). Must be within 7 days of start_date. If not provided, defaults to 7 days after start_date."),
55
+ startDate: z.string().describe("Start date for asteroid search in YYYY-MM-DD format (e.g., '2024-01-15'). Returns asteroids with close approach dates on or after this date."),
56
+ }),
57
+ execute: async ({ nasaApiKey, startDate, endDate }) => {
58
+ const missing = requireApiKey(nasaApiKey);
59
+ if (missing)
60
+ return missing;
61
+ try {
62
+ const query = {};
63
+ if (startDate !== undefined)
64
+ query["start_date"] = startDate;
65
+ if (endDate !== undefined)
66
+ query["end_date"] = endDate;
67
+ query['api_key'] = nasaApiKey;
68
+ return await nasaGet("https://api.nasa.gov", `/neo/rest/v1/feed`, { query });
69
+ }
70
+ catch (error) {
71
+ return toNasaError(error, "Failed to search near earth objects");
72
+ }
73
+ },
74
+ });
75
+ //# sourceMappingURL=neo.js.map
@@ -0,0 +1,152 @@
1
+ export declare const nasaGetCitation: import("ai").Tool<{
2
+ id: number;
3
+ nasaApiKey?: string | undefined;
4
+ }, any>;
5
+ export declare const nasaGetCitationDownloads: import("ai").Tool<{
6
+ id: number;
7
+ nasaApiKey?: string | undefined;
8
+ }, any>;
9
+ export declare const nasaDownloadCitationDocument: import("ai").Tool<{
10
+ id: number;
11
+ range: string;
12
+ filename: string;
13
+ nasaApiKey?: string | undefined;
14
+ attachment?: boolean | undefined;
15
+ }, {
16
+ error: string;
17
+ details: unknown;
18
+ statusCode: number;
19
+ message?: undefined;
20
+ } | {
21
+ error: string;
22
+ message: string;
23
+ details?: undefined;
24
+ statusCode?: undefined;
25
+ } | {
26
+ name: string;
27
+ mimetype: string | null;
28
+ sizeBytes: number | null;
29
+ url: string;
30
+ note: string;
31
+ }>;
32
+ export declare const nasaGetCitationRevisionId: import("ai").Tool<{
33
+ limit?: number | undefined;
34
+ nasaApiKey?: string | undefined;
35
+ conceptId?: string | undefined;
36
+ providerId?: string | undefined;
37
+ }, any>;
38
+ export declare const nasaGetCitationsAutocomplete: import("ai").Tool<{
39
+ q: string;
40
+ field: string;
41
+ nasaApiKey?: string | undefined;
42
+ }, any>;
43
+ export declare const nasaGetCitationsRedistributions: import("ai").Tool<{
44
+ page?: {
45
+ size?: number | undefined;
46
+ from?: number | undefined;
47
+ } | undefined;
48
+ nasaApiKey?: string | undefined;
49
+ redistributedDate?: {
50
+ from?: string | undefined;
51
+ to?: string | undefined;
52
+ } | undefined;
53
+ }, any>;
54
+ export declare const nasaSearchCitations: import("ai").Tool<{
55
+ sort?: {
56
+ order?: "asc" | "desc" | undefined;
57
+ field?: string | undefined;
58
+ } | undefined;
59
+ title?: string | undefined;
60
+ q?: string | undefined;
61
+ page?: {
62
+ size?: number | undefined;
63
+ from?: number | undefined;
64
+ } | undefined;
65
+ created?: {
66
+ lte?: string | undefined;
67
+ format?: string | undefined;
68
+ gt?: string | undefined;
69
+ lt?: string | undefined;
70
+ gte?: string | undefined;
71
+ } | undefined;
72
+ organization?: string[] | undefined;
73
+ author?: string[] | undefined;
74
+ modified?: {
75
+ lte?: string | undefined;
76
+ format?: string | undefined;
77
+ gt?: string | undefined;
78
+ lt?: string | undefined;
79
+ gte?: string | undefined;
80
+ } | undefined;
81
+ published?: {
82
+ lte?: string | undefined;
83
+ format?: string | undefined;
84
+ gt?: string | undefined;
85
+ lt?: string | undefined;
86
+ gte?: string | undefined;
87
+ } | undefined;
88
+ index?: string | undefined;
89
+ center?: string[] | undefined;
90
+ highlight?: boolean | undefined;
91
+ nasaApiKey?: string | undefined;
92
+ keyword?: string[] | undefined;
93
+ stiType?: "OTHER" | "STI_TYPE_NONE" | "CONFERENCE_PAPER" | "POSTER" | "PRESENTATION" | "CONFERENCE_PROCEEDINGS" | "CONTRACTOR_OR_GRANTEE_REPORT" | "WHITE_PAPER" | "THESIS_DISSERTATION" | "TECHNICAL_MEMORANDUM" | "CONTRACTOR_REPORT" | "SPECIAL_PUBLICATION" | "CONFERENCE_PUBLICATION" | "TECHNICAL_PUBLICATION" | "TECHNICAL_TRANSLATION" | "PREPRINT" | "ACCEPTED_MANUSCRIPT" | "REPRINT" | "BOOK" | "BOOK_CHAPTER" | "VIDEO" | "CONTRIBUTION_TO_LARGER_WORK" | undefined;
94
+ abstract?: string | undefined;
95
+ disseminated?: "NONE" | "METADATA_ONLY" | "DOCUMENT_AND_METADATA" | undefined;
96
+ distribution?: "PUBLIC" | "US_PERSONS" | "US_GOVERNMENT_AGENCIES_AND_GOVERNMENT_AGENCY_CONTRACTORS" | "US_GOVERNMENT_AGENCIES" | "US_GOVERNMENT_AGENCIES_AND_NASA_CONTRACTORS" | "NASA_CIVIL_SERVANTS_AND_NASA_CONTRACTORS" | "NASA_CIVIL_SERVANTS" | "OFFICE_ONLY" | "DO_NOT_DISTRIBUTE" | undefined;
97
+ reportNumber?: string[] | undefined;
98
+ fundingNumber?: string[] | undefined;
99
+ stiTypeDetails?: string | undefined;
100
+ accessionNumber?: string[] | undefined;
101
+ subjectCategory?: string[] | undefined;
102
+ }, any>;
103
+ export declare const nasaSearchPubspaceDocuments: import("ai").Tool<{
104
+ sort?: {
105
+ order?: "asc" | "desc" | undefined;
106
+ field?: string | undefined;
107
+ } | undefined;
108
+ title?: string | undefined;
109
+ q?: string | undefined;
110
+ page?: {
111
+ size?: number | undefined;
112
+ from?: number | undefined;
113
+ } | undefined;
114
+ created?: {
115
+ lte?: string | undefined;
116
+ format?: string | undefined;
117
+ gt?: string | undefined;
118
+ lt?: string | undefined;
119
+ gte?: string | undefined;
120
+ } | undefined;
121
+ organization?: string[] | undefined;
122
+ author?: string[] | undefined;
123
+ modified?: {
124
+ lte?: string | undefined;
125
+ format?: string | undefined;
126
+ gt?: string | undefined;
127
+ lt?: string | undefined;
128
+ gte?: string | undefined;
129
+ } | undefined;
130
+ published?: {
131
+ lte?: string | undefined;
132
+ format?: string | undefined;
133
+ gt?: string | undefined;
134
+ lt?: string | undefined;
135
+ gte?: string | undefined;
136
+ } | undefined;
137
+ index?: string | undefined;
138
+ center?: string[] | undefined;
139
+ highlight?: boolean | undefined;
140
+ nasaApiKey?: string | undefined;
141
+ keyword?: string[] | undefined;
142
+ stiType?: "OTHER" | "STI_TYPE_NONE" | "CONFERENCE_PAPER" | "POSTER" | "PRESENTATION" | "CONFERENCE_PROCEEDINGS" | "CONTRACTOR_OR_GRANTEE_REPORT" | "WHITE_PAPER" | "THESIS_DISSERTATION" | "TECHNICAL_MEMORANDUM" | "CONTRACTOR_REPORT" | "SPECIAL_PUBLICATION" | "CONFERENCE_PUBLICATION" | "TECHNICAL_PUBLICATION" | "TECHNICAL_TRANSLATION" | "PREPRINT" | "ACCEPTED_MANUSCRIPT" | "REPRINT" | "BOOK" | "BOOK_CHAPTER" | "VIDEO" | "CONTRIBUTION_TO_LARGER_WORK" | undefined;
143
+ abstract?: string | undefined;
144
+ disseminated?: "NONE" | "METADATA_ONLY" | "DOCUMENT_AND_METADATA" | undefined;
145
+ distribution?: "PUBLIC" | "US_PERSONS" | "US_GOVERNMENT_AGENCIES_AND_GOVERNMENT_AGENCY_CONTRACTORS" | "US_GOVERNMENT_AGENCIES" | "US_GOVERNMENT_AGENCIES_AND_NASA_CONTRACTORS" | "NASA_CIVIL_SERVANTS_AND_NASA_CONTRACTORS" | "NASA_CIVIL_SERVANTS" | "OFFICE_ONLY" | "DO_NOT_DISTRIBUTE" | undefined;
146
+ reportNumber?: string[] | undefined;
147
+ fundingNumber?: string[] | undefined;
148
+ stiTypeDetails?: string | undefined;
149
+ accessionNumber?: string[] | undefined;
150
+ subjectCategory?: string[] | undefined;
151
+ }, any>;
152
+ //# sourceMappingURL=ntrs.d.ts.map
@@ -0,0 +1,292 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { nasaGet, nasaPost, nasaDownloadMeta, toNasaError, enc, cmrGraphql } from './client.js';
5
+ export const nasaGetCitation = tool({
6
+ description: "Tool to retrieve detailed citation information from NASA Technical Reports Server (NTRS) by citation ID. Use when you need complete metadata for a specific NASA scientific or technical document, including abstract, authors, publication details, copyright information, export control status, and download links.",
7
+ inputSchema: z.object({
8
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
9
+ id: z.number().int().describe("The unique numeric identifier for the citation record in the NASA Technical Reports Server (NTRS). Use this to retrieve detailed information about a specific scientific or technical document."),
10
+ }),
11
+ execute: async ({ nasaApiKey, id }) => {
12
+ try {
13
+ return await nasaGet("https://ntrs.nasa.gov", `/api/citations/${enc(id)}`);
14
+ }
15
+ catch (error) {
16
+ return toNasaError(error, "Failed to get citation");
17
+ }
18
+ },
19
+ });
20
+ export const nasaGetCitationDownloads = tool({
21
+ description: "Tool to retrieve all available download links for a NASA technical report or publication by citation ID. Use this when you need to access PDFs, abstracts, or other documents associated with a NASA citation.",
22
+ inputSchema: z.object({
23
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
24
+ id: z.number().int().describe("NASA citation ID to retrieve downloads for. This is the unique identifier for a NASA technical report or publication (e.g., 20180008545)."),
25
+ }),
26
+ execute: async ({ nasaApiKey, id }) => {
27
+ try {
28
+ return await nasaGet("https://ntrs.nasa.gov", `/api/citations/${enc(id)}/downloads`);
29
+ }
30
+ catch (error) {
31
+ return toNasaError(error, "Failed to get citation downloads");
32
+ }
33
+ },
34
+ });
35
+ export const nasaDownloadCitationDocument = tool({
36
+ description: "Downloads a document file from a NASA NTRS (NASA Technical Reports Server) citation. Use this when you need to retrieve PDF or other document files associated with a specific citation ID. Supports partial content downloads via byte range specification.",
37
+ inputSchema: z.object({
38
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
39
+ id: z.number().int().describe("Citation ID number for the NASA NTRS document to download. This is the unique identifier for the citation entry."),
40
+ range: z.string().describe("HTTP Range header value specifying byte range to download. Use 'bytes=0-' to download entire file, or specify a specific range like 'bytes=0-1024' for partial content."),
41
+ filename: z.string().describe("Name of the file to download (e.g., '20040121077.pdf'). This should match the actual filename associated with the citation."),
42
+ attachment: z.boolean().optional().describe("If true, the response will include Content-Disposition header to prompt download as attachment. If false, file may display inline in browser."),
43
+ }),
44
+ execute: async ({ nasaApiKey, id, filename, range, attachment }) => {
45
+ try {
46
+ const headers = {};
47
+ if (range !== undefined)
48
+ headers.Range = range;
49
+ return await nasaDownloadMeta("https://ntrs.nasa.gov", `/api/citations/${enc(id)}/downloads/${enc(filename)}`, headers);
50
+ }
51
+ catch (error) {
52
+ return toNasaError(error, "Failed to download citation document");
53
+ }
54
+ },
55
+ });
56
+ export const nasaGetCitationRevisionId = tool({
57
+ description: "Tool to retrieve citation revision IDs from NASA Common Metadata Repository (CMR) GraphQL API. Use when you need to track version/revision numbers of citation records in the CMR system. Returns citation metadata including revisionId field which tracks the revision history.",
58
+ inputSchema: z.object({
59
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
60
+ limit: z.number().int().min(1).max(100).optional().describe("Maximum number of citations to return (1-100). Defaults to 20."),
61
+ conceptId: z.string().optional().describe("Filter citations by concept ID (e.g., 'CIT3857576156-ESDIS'). If not provided, returns all citations."),
62
+ providerId: z.string().optional().describe("Filter citations by provider ID (e.g., 'ESDIS')."),
63
+ }),
64
+ execute: async ({ nasaApiKey, limit, conceptId, providerId }) => {
65
+ try {
66
+ const args = {};
67
+ if (limit !== undefined)
68
+ args["limit"] = limit;
69
+ if (conceptId !== undefined)
70
+ args["conceptId"] = conceptId;
71
+ if (providerId !== undefined)
72
+ args["providerId"] = providerId;
73
+ return await cmrGraphql("citations", args, "{count items{conceptId name revisionId revisionDate providerId} cursor}");
74
+ }
75
+ catch (error) {
76
+ return toNasaError(error, "Failed to get citation revision id");
77
+ }
78
+ },
79
+ });
80
+ export const nasaGetCitationsAutocomplete = tool({
81
+ description: "Tool to get autocomplete suggestions from NASA NTRS (Technical Reports Server) citations. Use when you need to search for partial matches in citation fields like author names, titles, subjects, or abstracts to help users complete their searches.",
82
+ inputSchema: z.object({
83
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
84
+ q: z.string().describe("Query string to search for autocomplete matches. Partial text that will be matched against values in the specified field (e.g., 'smith' for author field)."),
85
+ field: z.string().describe("Field to search for autocomplete suggestions (e.g., 'author', 'title', 'subject', 'abstract'). Specifies which citation field to query for matching values."),
86
+ }),
87
+ execute: async ({ nasaApiKey, field, q }) => {
88
+ try {
89
+ const query = {};
90
+ if (field !== undefined)
91
+ query["field"] = field;
92
+ if (q !== undefined)
93
+ query["q"] = q;
94
+ return await nasaGet("https://ntrs.nasa.gov", `/api/citations/autocomplete`, { query });
95
+ }
96
+ catch (error) {
97
+ return toNasaError(error, "Failed to get citations autocomplete");
98
+ }
99
+ },
100
+ });
101
+ export const nasaGetCitationsRedistributions = tool({
102
+ description: "Tool to retrieve redistributed citations from NASA's Technical Reports Server (NTRS). Use when you need to access information about citations that have been redistributed, including dates and distribution details.",
103
+ inputSchema: z.object({
104
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
105
+ page: z.object({ from: z.number().int().min(0).optional().describe("Starting index for results (zero-based)."), size: z.number().int().min(1).optional().describe("Number of results to return per page.") }).optional().describe("Pagination configuration for results."),
106
+ redistributedDate: z.object({ to: z.string().optional().describe("End date for redistributed date range in ISO 8601 format (YYYY-MM-DD)."), from: z.string().optional().describe("Start date for redistributed date range in ISO 8601 format (YYYY-MM-DD).") }).optional().describe("Date filter for redistributed citations."),
107
+ }),
108
+ execute: async ({ nasaApiKey, page, redistributedDate }) => {
109
+ try {
110
+ const query = {};
111
+ if (page !== undefined) {
112
+ if (page.from !== undefined)
113
+ query['page[from]'] = page.from;
114
+ if (page.size !== undefined)
115
+ query['page[size]'] = page.size;
116
+ }
117
+ if (redistributedDate !== undefined) {
118
+ if (redistributedDate.from !== undefined)
119
+ query['redistributedDate[gte]'] = redistributedDate.from;
120
+ if (redistributedDate.to !== undefined)
121
+ query['redistributedDate[lte]'] = redistributedDate.to;
122
+ }
123
+ return await nasaGet("https://ntrs.nasa.gov", `/api/citations/redistributions`, { query });
124
+ }
125
+ catch (error) {
126
+ return toNasaError(error, "Failed to get citations redistributions");
127
+ }
128
+ },
129
+ });
130
+ export const nasaSearchCitations = tool({
131
+ description: "Tool to search NASA Technical Reports Server (NTRS) citations database. Use when you need to find NASA scientific and technical documents, research papers, reports, or publications. Supports filtering by document type, author, center, keywords, and more. Returns detailed metadata including abstracts, authors, publication info, and download links.",
132
+ inputSchema: z.object({
133
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
134
+ q: z.string().optional().describe("General query string for full-text search across all fields. Example: 'Mars exploration' or 'climate change'. This is the primary search parameter for finding documents."),
135
+ page: z.object({ from: z.number().int().optional().describe("Starting position for pagination (0-indexed). Specifies the number of results to skip."), size: z.number().int().max(100).optional().describe("Number of results to return per page. Maximum value is 100.") }).optional().describe("Pagination parameters for search results."),
136
+ sort: z.object({ field: z.string().optional().describe("Field name to sort by (e.g., 'title', 'created', 'modified')."), order: z.enum(["asc", "desc"]).optional().describe("Sort order for search results.") }).optional().describe("Sort parameters for search results."),
137
+ index: z.string().optional().describe("Index name to search within. Specifies which NTRS index to query."),
138
+ title: z.string().optional().describe("Search within document titles only. Example: 'Space Shuttle' to find documents with 'Space Shuttle' in the title."),
139
+ author: z.array(z.string()).optional().describe("Filter by author names. Provide a list of author names to search for. Example: ['Smith, John', 'Doe, Jane']."),
140
+ center: z.array(z.string()).optional().describe("Filter by NASA center. Provide a list of NASA center codes. Example: ['ARC', 'MSFC'] for Ames Research Center and Marshall Space Flight Center."),
141
+ created: z.object({ gt: z.string().optional().describe("Greater than date. Filters for dates after this value (exclusive)."), lt: z.string().optional().describe("Less than date. Filters for dates before this value (exclusive)."), gte: z.string().optional().describe("Greater than or equal to date. Filters for dates on or after this value (inclusive)."), lte: z.string().optional().describe("Less than or equal to date. Filters for dates on or before this value (inclusive)."), format: z.string().optional().describe("Date format string. Supports Elasticsearch date format patterns. Default is 'strict_date_optional_time||epoch_millis'. Reference: https://www.elastic.co/guide/en/elasticsearch/reference/7.8/mapping-date-format.html") }).optional().describe("Date range filter for created, modified, or published fields."),
142
+ keyword: z.array(z.string()).optional().describe("Filter by specific keywords. Provide a list of keywords that must be present in the document metadata."),
143
+ stiType: z.enum(["STI_TYPE_NONE", "CONFERENCE_PAPER", "POSTER", "PRESENTATION", "CONFERENCE_PROCEEDINGS", "CONTRACTOR_OR_GRANTEE_REPORT", "WHITE_PAPER", "THESIS_DISSERTATION", "TECHNICAL_MEMORANDUM", "CONTRACTOR_REPORT", "SPECIAL_PUBLICATION", "CONFERENCE_PUBLICATION", "TECHNICAL_PUBLICATION", "TECHNICAL_TRANSLATION", "PREPRINT", "ACCEPTED_MANUSCRIPT", "REPRINT", "BOOK", "BOOK_CHAPTER", "VIDEO", "CONTRIBUTION_TO_LARGER_WORK", "OTHER"]).optional().describe("STI (Scientific and Technical Information) document types."),
144
+ abstract: z.string().optional().describe("Search within document abstracts only. Example: 'propulsion systems' to find documents with this phrase in their abstract."),
145
+ modified: z.object({ gt: z.string().optional().describe("Greater than date. Filters for dates after this value (exclusive)."), lt: z.string().optional().describe("Less than date. Filters for dates before this value (exclusive)."), gte: z.string().optional().describe("Greater than or equal to date. Filters for dates on or after this value (inclusive)."), lte: z.string().optional().describe("Less than or equal to date. Filters for dates on or before this value (inclusive)."), format: z.string().optional().describe("Date format string. Supports Elasticsearch date format patterns. Default is 'strict_date_optional_time||epoch_millis'. Reference: https://www.elastic.co/guide/en/elasticsearch/reference/7.8/mapping-date-format.html") }).optional().describe("Date range filter for created, modified, or published fields."),
146
+ highlight: z.boolean().optional().describe("Enable search term highlighting in results. When true, matching terms in results will be highlighted."),
147
+ published: z.object({ gt: z.string().optional().describe("Greater than date. Filters for dates after this value (exclusive)."), lt: z.string().optional().describe("Less than date. Filters for dates before this value (exclusive)."), gte: z.string().optional().describe("Greater than or equal to date. Filters for dates on or after this value (inclusive)."), lte: z.string().optional().describe("Less than or equal to date. Filters for dates on or before this value (inclusive)."), format: z.string().optional().describe("Date format string. Supports Elasticsearch date format patterns. Default is 'strict_date_optional_time||epoch_millis'. Reference: https://www.elastic.co/guide/en/elasticsearch/reference/7.8/mapping-date-format.html") }).optional().describe("Date range filter for created, modified, or published fields."),
148
+ disseminated: z.enum(["NONE", "METADATA_ONLY", "DOCUMENT_AND_METADATA"]).optional().describe("Dissemination status of the document."),
149
+ distribution: z.enum(["PUBLIC", "US_PERSONS", "US_GOVERNMENT_AGENCIES_AND_GOVERNMENT_AGENCY_CONTRACTORS", "US_GOVERNMENT_AGENCIES", "US_GOVERNMENT_AGENCIES_AND_NASA_CONTRACTORS", "NASA_CIVIL_SERVANTS_AND_NASA_CONTRACTORS", "NASA_CIVIL_SERVANTS", "OFFICE_ONLY", "DO_NOT_DISTRIBUTE"]).optional().describe("Distribution restriction levels."),
150
+ organization: z.array(z.string()).optional().describe("Filter by organization names. Provide a list of organization names associated with the documents."),
151
+ reportNumber: z.array(z.string()).optional().describe("Filter by report numbers. Provide a list of specific NASA report numbers. Example: ['NASA-TM-2020-220576']."),
152
+ fundingNumber: z.array(z.string()).optional().describe("Filter by funding/grant numbers. Provide a list of funding identifiers."),
153
+ stiTypeDetails: z.string().optional().describe("Additional details about the STI document type for more specific filtering."),
154
+ accessionNumber: z.array(z.string()).optional().describe("Filter by accession numbers. Provide a list of NTRS accession numbers for specific documents."),
155
+ subjectCategory: z.array(z.string()).optional().describe("Filter by NASA subject categories. Provide a list of subject category codes or names."),
156
+ }),
157
+ execute: async ({ nasaApiKey, q, page, sort, index, title, author, center, created, keyword, stiType, abstract, modified, highlight, published, disseminated, distribution, organization, reportNumber, fundingNumber, stiTypeDetails, accessionNumber, subjectCategory }) => {
158
+ try {
159
+ const body = {};
160
+ if (q !== undefined)
161
+ body["q"] = q;
162
+ if (page !== undefined)
163
+ body["page"] = page;
164
+ if (sort !== undefined)
165
+ body["sort"] = sort;
166
+ if (index !== undefined)
167
+ body["index"] = index;
168
+ if (title !== undefined)
169
+ body["title"] = title;
170
+ if (author !== undefined)
171
+ body["author"] = author;
172
+ if (center !== undefined)
173
+ body["center"] = center;
174
+ if (created !== undefined)
175
+ body["created"] = created;
176
+ if (keyword !== undefined)
177
+ body["keyword"] = keyword;
178
+ if (stiType !== undefined)
179
+ body["stiType"] = stiType;
180
+ if (abstract !== undefined)
181
+ body["abstract"] = abstract;
182
+ if (modified !== undefined)
183
+ body["modified"] = modified;
184
+ if (highlight !== undefined)
185
+ body["highlight"] = highlight;
186
+ if (published !== undefined)
187
+ body["published"] = published;
188
+ if (disseminated !== undefined)
189
+ body["disseminated"] = disseminated;
190
+ if (distribution !== undefined)
191
+ body["distribution"] = distribution;
192
+ if (organization !== undefined)
193
+ body["organization"] = organization;
194
+ if (reportNumber !== undefined)
195
+ body["reportNumber"] = reportNumber;
196
+ if (fundingNumber !== undefined)
197
+ body["fundingNumber"] = fundingNumber;
198
+ if (stiTypeDetails !== undefined)
199
+ body["stiTypeDetails"] = stiTypeDetails;
200
+ if (accessionNumber !== undefined)
201
+ body["accessionNumber"] = accessionNumber;
202
+ if (subjectCategory !== undefined)
203
+ body["subjectCategory"] = subjectCategory;
204
+ return await nasaPost("https://ntrs.nasa.gov", `/api/citations/search`, body);
205
+ }
206
+ catch (error) {
207
+ return toNasaError(error, "Failed to search citations");
208
+ }
209
+ },
210
+ });
211
+ export const nasaSearchPubspaceDocuments = tool({
212
+ description: "Search NASA public space technical documents in the NTRS (NASA Technical Reports Server) repository. Use when you need to find NASA publications, technical reports, conference papers, or other scientific documents. Supports full-text search, field-specific queries, filtering by author/center/type, date ranges, and pagination. Returns comprehensive document metadata including titles, abstracts, authors, download links, and classifications.",
213
+ inputSchema: z.object({
214
+ nasaApiKey: z.string().optional().describe("NASA API key (injected when connected; only sent to api.nasa.gov endpoints)"),
215
+ q: z.string().optional().describe("Full-text search query across all document fields. Example: 'mars rover exploration'. Use quotes for exact phrases."),
216
+ page: z.object({ from: z.number().int().min(0).optional().describe("Starting index for pagination (0-based offset). Example: 0 for first page, 20 for second page with size=20."), size: z.number().int().min(1).max(100).optional().describe("Number of results per page (1-100). Defaults to 20 if not specified.") }).optional().describe("Pagination options for search results."),
217
+ sort: z.object({ field: z.string().optional().describe("Field name to sort by (e.g., 'title', 'created', 'published', 'modified'). Common fields: 'title', 'created', 'relevance'."), order: z.enum(["asc", "desc"]).optional().describe("Sort order enumeration.") }).optional().describe("Sorting options for search results."),
218
+ index: z.string().optional().describe("Index name to search within. Typically 'citations' or 'pubspace'."),
219
+ title: z.string().optional().describe("Search within document titles only. Example: 'Apollo Mission Report'."),
220
+ author: z.array(z.string()).optional().describe("Filter by author names. Multiple authors are combined with OR logic. Example: ['Smith, John', 'Doe, Jane']."),
221
+ center: z.array(z.string()).optional().describe("Filter by NASA center(s). Example: ['NASA Ames Research Center', 'NASA Johnson Space Center']."),
222
+ created: z.object({ gt: z.string().optional().describe("Greater than date (exclusive) in YYYY-MM-DD format."), lt: z.string().optional().describe("Less than date (exclusive) in YYYY-MM-DD format."), gte: z.string().optional().describe("Greater than or equal to date (inclusive) in YYYY-MM-DD format."), lte: z.string().optional().describe("Less than or equal to date (inclusive) in YYYY-MM-DD format."), format: z.string().optional().describe("Elasticsearch date format. Defaults to 'strict_date_optional_time||epoch_millis' if not specified.") }).optional().describe("Date range filter with Elasticsearch-compatible format for created, published, or modified dates."),
223
+ keyword: z.array(z.string()).optional().describe("Filter by keywords/tags. Multiple keywords are combined with OR logic. Example: ['propulsion', 'combustion']."),
224
+ stiType: z.enum(["STI_TYPE_NONE", "CONFERENCE_PAPER", "POSTER", "PRESENTATION", "CONFERENCE_PROCEEDINGS", "CONTRACTOR_OR_GRANTEE_REPORT", "WHITE_PAPER", "THESIS_DISSERTATION", "TECHNICAL_MEMORANDUM", "CONTRACTOR_REPORT", "SPECIAL_PUBLICATION", "CONFERENCE_PUBLICATION", "TECHNICAL_PUBLICATION", "TECHNICAL_TRANSLATION", "PREPRINT", "ACCEPTED_MANUSCRIPT", "REPRINT", "BOOK", "BOOK_CHAPTER", "VIDEO", "CONTRIBUTION_TO_LARGER_WORK", "OTHER"]).optional().describe("Publication type enumeration for NASA STI documents."),
225
+ abstract: z.string().optional().describe("Search within document abstracts only. Example: 'lunar surface analysis'."),
226
+ modified: z.object({ gt: z.string().optional().describe("Greater than date (exclusive) in YYYY-MM-DD format."), lt: z.string().optional().describe("Less than date (exclusive) in YYYY-MM-DD format."), gte: z.string().optional().describe("Greater than or equal to date (inclusive) in YYYY-MM-DD format."), lte: z.string().optional().describe("Less than or equal to date (inclusive) in YYYY-MM-DD format."), format: z.string().optional().describe("Elasticsearch date format. Defaults to 'strict_date_optional_time||epoch_millis' if not specified.") }).optional().describe("Date range filter with Elasticsearch-compatible format for created, published, or modified dates."),
227
+ highlight: z.boolean().optional().describe("Enable search term highlighting in results. When true, matching terms are marked in returned text."),
228
+ published: z.object({ gt: z.string().optional().describe("Greater than date (exclusive) in YYYY-MM-DD format."), lt: z.string().optional().describe("Less than date (exclusive) in YYYY-MM-DD format."), gte: z.string().optional().describe("Greater than or equal to date (inclusive) in YYYY-MM-DD format."), lte: z.string().optional().describe("Less than or equal to date (inclusive) in YYYY-MM-DD format."), format: z.string().optional().describe("Elasticsearch date format. Defaults to 'strict_date_optional_time||epoch_millis' if not specified.") }).optional().describe("Date range filter with Elasticsearch-compatible format for created, published, or modified dates."),
229
+ disseminated: z.enum(["NONE", "METADATA_ONLY", "DOCUMENT_AND_METADATA"]).optional().describe("Dissemination status enumeration."),
230
+ distribution: z.enum(["PUBLIC", "US_PERSONS", "US_GOVERNMENT_AGENCIES_AND_GOVERNMENT_AGENCY_CONTRACTORS", "US_GOVERNMENT_AGENCIES", "US_GOVERNMENT_AGENCIES_AND_NASA_CONTRACTORS", "NASA_CIVIL_SERVANTS_AND_NASA_CONTRACTORS", "NASA_CIVIL_SERVANTS", "OFFICE_ONLY", "DO_NOT_DISTRIBUTE"]).optional().describe("Distribution level enumeration."),
231
+ organization: z.array(z.string()).optional().describe("Filter by organization(s). Example: ['Jet Propulsion Laboratory']."),
232
+ reportNumber: z.array(z.string()).optional().describe("Filter by report number(s). Example: ['NASA-TM-2020-123456']."),
233
+ fundingNumber: z.array(z.string()).optional().describe("Filter by funding/grant number(s). Example: ['NNX15AB12G']."),
234
+ stiTypeDetails: z.string().optional().describe("Additional details or subcategory of STI type."),
235
+ accessionNumber: z.array(z.string()).optional().describe("Filter by accession number(s) - unique identifiers in the repository."),
236
+ subjectCategory: z.array(z.string()).optional().describe("Filter by subject category codes or names. Example: ['Aerospace Engineering', 'Space Sciences']."),
237
+ }),
238
+ execute: async ({ nasaApiKey, q, page, sort, index, title, author, center, created, keyword, stiType, abstract, modified, highlight, published, disseminated, distribution, organization, reportNumber, fundingNumber, stiTypeDetails, accessionNumber, subjectCategory }) => {
239
+ try {
240
+ const body = {};
241
+ if (q !== undefined)
242
+ body["q"] = q;
243
+ if (page !== undefined)
244
+ body["page"] = page;
245
+ if (sort !== undefined)
246
+ body["sort"] = sort;
247
+ if (index !== undefined)
248
+ body["index"] = index;
249
+ if (title !== undefined)
250
+ body["title"] = title;
251
+ if (author !== undefined)
252
+ body["author"] = author;
253
+ if (center !== undefined)
254
+ body["center"] = center;
255
+ if (created !== undefined)
256
+ body["created"] = created;
257
+ if (keyword !== undefined)
258
+ body["keyword"] = keyword;
259
+ if (stiType !== undefined)
260
+ body["stiType"] = stiType;
261
+ if (abstract !== undefined)
262
+ body["abstract"] = abstract;
263
+ if (modified !== undefined)
264
+ body["modified"] = modified;
265
+ if (highlight !== undefined)
266
+ body["highlight"] = highlight;
267
+ if (published !== undefined)
268
+ body["published"] = published;
269
+ if (disseminated !== undefined)
270
+ body["disseminated"] = disseminated;
271
+ if (distribution !== undefined)
272
+ body["distribution"] = distribution;
273
+ if (organization !== undefined)
274
+ body["organization"] = organization;
275
+ if (reportNumber !== undefined)
276
+ body["reportNumber"] = reportNumber;
277
+ if (fundingNumber !== undefined)
278
+ body["fundingNumber"] = fundingNumber;
279
+ if (stiTypeDetails !== undefined)
280
+ body["stiTypeDetails"] = stiTypeDetails;
281
+ if (accessionNumber !== undefined)
282
+ body["accessionNumber"] = accessionNumber;
283
+ if (subjectCategory !== undefined)
284
+ body["subjectCategory"] = subjectCategory;
285
+ return await nasaPost("https://ntrs.nasa.gov", `/api/pubspace/search`, body);
286
+ }
287
+ catch (error) {
288
+ return toNasaError(error, "Failed to search pubspace documents");
289
+ }
290
+ },
291
+ });
292
+ //# sourceMappingURL=ntrs.js.map
@@ -0,0 +1,72 @@
1
+ export declare const nasaGetOsdrBiospecimen: import("ai").Tool<{
2
+ identifier: string;
3
+ nasaApiKey?: string | undefined;
4
+ }, any>;
5
+ export declare const nasaListOsdrBiospecimens: import("ai").Tool<{
6
+ nasaApiKey?: string | undefined;
7
+ }, any>;
8
+ export declare const nasaGetOsdrExperiment: import("ai").Tool<{
9
+ identifier: string;
10
+ nasaApiKey?: string | undefined;
11
+ }, any>;
12
+ export declare const nasaListOsdrExperiments: import("ai").Tool<{
13
+ nasaApiKey?: string | undefined;
14
+ }, any>;
15
+ export declare const nasaGetOsdrHardware: import("ai").Tool<{
16
+ identifier: string;
17
+ nasaApiKey?: string | undefined;
18
+ }, any>;
19
+ export declare const nasaListOsdrHardware: import("ai").Tool<{
20
+ nasaApiKey?: string | undefined;
21
+ }, any>;
22
+ export declare const nasaGetOsdrMetadata: import("ai").Tool<{
23
+ studyId: string;
24
+ nasaApiKey?: string | undefined;
25
+ }, any>;
26
+ export declare const nasaGetOsdrMission: import("ai").Tool<{
27
+ identifier: string;
28
+ nasaApiKey?: string | undefined;
29
+ }, any>;
30
+ export declare const nasaListOsdrMissions: import("ai").Tool<{
31
+ nasaApiKey?: string | undefined;
32
+ }, any>;
33
+ export declare const nasaGetOsdrPayload: import("ai").Tool<{
34
+ identifier: string;
35
+ nasaApiKey?: string | undefined;
36
+ }, any>;
37
+ export declare const nasaListOsdrPayloads: import("ai").Tool<{
38
+ nasaApiKey?: string | undefined;
39
+ }, any>;
40
+ export declare const nasaGetOsdrSubject: import("ai").Tool<{
41
+ identifier: string;
42
+ nasaApiKey?: string | undefined;
43
+ }, any>;
44
+ export declare const nasaListOsdrSubjects: import("ai").Tool<{
45
+ nasaApiKey?: string | undefined;
46
+ }, any>;
47
+ export declare const nasaGetOsdrVehicle: import("ai").Tool<{
48
+ identifier: string;
49
+ nasaApiKey?: string | undefined;
50
+ }, any>;
51
+ export declare const nasaListOsdrVehicles: import("ai").Tool<{
52
+ nasaApiKey?: string | undefined;
53
+ }, any>;
54
+ export declare const nasaGetGldsFiles: import("ai").Tool<{
55
+ datasetIds: string;
56
+ size?: number | undefined;
57
+ page?: number | undefined;
58
+ nasaApiKey?: string | undefined;
59
+ allFiles?: boolean | undefined;
60
+ }, any>;
61
+ export declare const nasaSearchOsdr: import("ai").Tool<{
62
+ type?: "cgene" | "nih_geo_gse" | "ebi_pride" | "mg_rast" | undefined;
63
+ sort?: string | undefined;
64
+ size?: number | undefined;
65
+ from?: number | undefined;
66
+ order?: "ASC" | "DESC" | undefined;
67
+ nasaApiKey?: string | undefined;
68
+ term?: string | undefined;
69
+ ffield?: string | undefined;
70
+ fvalue?: string | undefined;
71
+ }, any>;
72
+ //# sourceMappingURL=osdr.d.ts.map