@rnsk/toolkits 0.0.9 → 0.0.10

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 (132) hide show
  1. package/README.md +7 -1
  2. package/dist/index.d.ts +7 -1
  3. package/dist/index.js +13 -1
  4. package/dist/toolkits/hacker-news/icon.d.ts +5 -0
  5. package/dist/toolkits/hacker-news/icon.js +9 -0
  6. package/dist/toolkits/hacker-news/manifest.d.ts +3 -0
  7. package/dist/toolkits/hacker-news/manifest.js +25 -0
  8. package/dist/toolkits/hacker-news/tools/client.d.ts +8 -0
  9. package/dist/toolkits/hacker-news/tools/client.js +51 -0
  10. package/dist/toolkits/hacker-news/tools/index.d.ts +89 -0
  11. package/dist/toolkits/hacker-news/tools/index.js +22 -0
  12. package/dist/toolkits/hacker-news/tools/items.d.ts +42 -0
  13. package/dist/toolkits/hacker-news/tools/items.js +126 -0
  14. package/dist/toolkits/hacker-news/tools/search.d.ts +12 -0
  15. package/dist/toolkits/hacker-news/tools/search.js +40 -0
  16. package/dist/toolkits/hacker-news/tools/stories.d.ts +25 -0
  17. package/dist/toolkits/hacker-news/tools/stories.js +98 -0
  18. package/dist/toolkits/hostinger/icon.d.ts +5 -0
  19. package/dist/toolkits/hostinger/icon.js +6 -0
  20. package/dist/toolkits/hostinger/manifest.d.ts +3 -0
  21. package/dist/toolkits/hostinger/manifest.js +36 -0
  22. package/dist/toolkits/hostinger/tools/billing.d.ts +12 -0
  23. package/dist/toolkits/hostinger/tools/billing.js +35 -0
  24. package/dist/toolkits/hostinger/tools/client.d.ts +6 -0
  25. package/dist/toolkits/hostinger/tools/client.js +57 -0
  26. package/dist/toolkits/hostinger/tools/dns.d.ts +22 -0
  27. package/dist/toolkits/hostinger/tools/dns.js +47 -0
  28. package/dist/toolkits/hostinger/tools/domains.d.ts +21 -0
  29. package/dist/toolkits/hostinger/tools/domains.js +62 -0
  30. package/dist/toolkits/hostinger/tools/hosting.d.ts +17 -0
  31. package/dist/toolkits/hostinger/tools/hosting.js +38 -0
  32. package/dist/toolkits/hostinger/tools/index.d.ts +179 -0
  33. package/dist/toolkits/hostinger/tools/index.js +35 -0
  34. package/dist/toolkits/hostinger/tools/vps.d.ts +27 -0
  35. package/dist/toolkits/hostinger/tools/vps.js +77 -0
  36. package/dist/toolkits/hostinger/tools/whois.d.ts +33 -0
  37. package/dist/toolkits/hostinger/tools/whois.js +85 -0
  38. package/dist/toolkits/hugging-face/icon.d.ts +5 -0
  39. package/dist/toolkits/hugging-face/icon.js +6 -0
  40. package/dist/toolkits/hugging-face/manifest.d.ts +3 -0
  41. package/dist/toolkits/hugging-face/manifest.js +42 -0
  42. package/dist/toolkits/hugging-face/tools/client.d.ts +93 -0
  43. package/dist/toolkits/hugging-face/tools/client.js +192 -0
  44. package/dist/toolkits/hugging-face/tools/datasets-viewer.d.ts +65 -0
  45. package/dist/toolkits/hugging-face/tools/datasets-viewer.js +150 -0
  46. package/dist/toolkits/hugging-face/tools/datasets.d.ts +160 -0
  47. package/dist/toolkits/hugging-face/tools/datasets.js +383 -0
  48. package/dist/toolkits/hugging-face/tools/discussions.d.ts +68 -0
  49. package/dist/toolkits/hugging-face/tools/discussions.js +144 -0
  50. package/dist/toolkits/hugging-face/tools/index.d.ts +523 -0
  51. package/dist/toolkits/hugging-face/tools/index.js +163 -0
  52. package/dist/toolkits/hugging-face/tools/inference.d.ts +42 -0
  53. package/dist/toolkits/hugging-face/tools/inference.js +86 -0
  54. package/dist/toolkits/hugging-face/tools/models.d.ts +117 -0
  55. package/dist/toolkits/hugging-face/tools/models.js +273 -0
  56. package/dist/toolkits/hugging-face/tools/papers.d.ts +37 -0
  57. package/dist/toolkits/hugging-face/tools/papers.js +91 -0
  58. package/dist/toolkits/hugging-face/tools/repos.d.ts +96 -0
  59. package/dist/toolkits/hugging-face/tools/repos.js +201 -0
  60. package/dist/toolkits/hugging-face/tools/settings.d.ts +53 -0
  61. package/dist/toolkits/hugging-face/tools/settings.js +88 -0
  62. package/dist/toolkits/hugging-face/tools/spaces.d.ts +245 -0
  63. package/dist/toolkits/hugging-face/tools/spaces.js +468 -0
  64. package/dist/toolkits/hugging-face/tools/sql.d.ts +21 -0
  65. package/dist/toolkits/hugging-face/tools/sql.js +47 -0
  66. package/dist/toolkits/hugging-face/tools/users.d.ts +60 -0
  67. package/dist/toolkits/hugging-face/tools/users.js +132 -0
  68. package/dist/toolkits/hugging-face/tools/webhooks.d.ts +35 -0
  69. package/dist/toolkits/hugging-face/tools/webhooks.js +87 -0
  70. package/dist/toolkits/jira/icon.d.ts +5 -0
  71. package/dist/toolkits/jira/icon.js +6 -0
  72. package/dist/toolkits/jira/manifest.d.ts +3 -0
  73. package/dist/toolkits/jira/manifest.js +53 -0
  74. package/dist/toolkits/jira/tools/boards.d.ts +52 -0
  75. package/dist/toolkits/jira/tools/boards.js +104 -0
  76. package/dist/toolkits/jira/tools/client.d.ts +23 -0
  77. package/dist/toolkits/jira/tools/client.js +270 -0
  78. package/dist/toolkits/jira/tools/index.d.ts +1280 -0
  79. package/dist/toolkits/jira/tools/index.js +119 -0
  80. package/dist/toolkits/jira/tools/issue-fields.d.ts +10 -0
  81. package/dist/toolkits/jira/tools/issue-fields.js +111 -0
  82. package/dist/toolkits/jira/tools/issues.d.ts +304 -0
  83. package/dist/toolkits/jira/tools/issues.js +593 -0
  84. package/dist/toolkits/jira/tools/meta.d.ts +212 -0
  85. package/dist/toolkits/jira/tools/meta.js +369 -0
  86. package/dist/toolkits/jira/tools/projects.d.ts +130 -0
  87. package/dist/toolkits/jira/tools/projects.js +263 -0
  88. package/dist/toolkits/jira/tools/search.d.ts +90 -0
  89. package/dist/toolkits/jira/tools/search.js +181 -0
  90. package/dist/toolkits/jira/tools/users.d.ts +114 -0
  91. package/dist/toolkits/jira/tools/users.js +221 -0
  92. package/dist/toolkits/neo4j/icon.d.ts +5 -0
  93. package/dist/toolkits/neo4j/icon.js +6 -0
  94. package/dist/toolkits/neo4j/manifest.d.ts +3 -0
  95. package/dist/toolkits/neo4j/manifest.js +33 -0
  96. package/dist/toolkits/neo4j/tools/analytics.d.ts +21 -0
  97. package/dist/toolkits/neo4j/tools/analytics.js +91 -0
  98. package/dist/toolkits/neo4j/tools/client.d.ts +6 -0
  99. package/dist/toolkits/neo4j/tools/client.js +105 -0
  100. package/dist/toolkits/neo4j/tools/index.d.ts +198 -0
  101. package/dist/toolkits/neo4j/tools/index.js +30 -0
  102. package/dist/toolkits/neo4j/tools/instances.d.ts +47 -0
  103. package/dist/toolkits/neo4j/tools/instances.js +127 -0
  104. package/dist/toolkits/neo4j/tools/projects.d.ts +44 -0
  105. package/dist/toolkits/neo4j/tools/projects.js +110 -0
  106. package/dist/toolkits/neo4j/tools/snapshots.d.ts +20 -0
  107. package/dist/toolkits/neo4j/tools/snapshots.js +57 -0
  108. package/dist/toolkits/neon/icon.d.ts +5 -0
  109. package/dist/toolkits/neon/icon.js +8 -0
  110. package/dist/toolkits/neon/manifest.d.ts +3 -0
  111. package/dist/toolkits/neon/manifest.js +36 -0
  112. package/dist/toolkits/neon/tools/auth.d.ts +115 -0
  113. package/dist/toolkits/neon/tools/auth.js +286 -0
  114. package/dist/toolkits/neon/tools/branches.d.ts +189 -0
  115. package/dist/toolkits/neon/tools/branches.js +465 -0
  116. package/dist/toolkits/neon/tools/client.d.ts +10 -0
  117. package/dist/toolkits/neon/tools/client.js +69 -0
  118. package/dist/toolkits/neon/tools/dataapi.d.ts +42 -0
  119. package/dist/toolkits/neon/tools/dataapi.js +111 -0
  120. package/dist/toolkits/neon/tools/endpoints.d.ts +59 -0
  121. package/dist/toolkits/neon/tools/endpoints.js +163 -0
  122. package/dist/toolkits/neon/tools/index.d.ts +976 -0
  123. package/dist/toolkits/neon/tools/index.js +130 -0
  124. package/dist/toolkits/neon/tools/meta.d.ts +4 -0
  125. package/dist/toolkits/neon/tools/meta.js +16 -0
  126. package/dist/toolkits/neon/tools/orgs.d.ts +112 -0
  127. package/dist/toolkits/neon/tools/orgs.js +303 -0
  128. package/dist/toolkits/neon/tools/projects.d.ts +177 -0
  129. package/dist/toolkits/neon/tools/projects.js +468 -0
  130. package/dist/toolkits/neon/tools/snapshots.d.ts +24 -0
  131. package/dist/toolkits/neon/tools/snapshots.js +67 -0
  132. package/package.json +1 -1
@@ -0,0 +1,130 @@
1
+ // @ts-nocheck
2
+ import { neonAcceptProjectsTransferRequests, neonAccessProjectDetailsById, neonAddNewJwksToProjectEndpoint, neonAddProjectEmailPermission, neonCreateProjectsTransferRequests, neonCreateProjectWithQuotaAndSettings, neonCreateVpcEndpointLabel, neonDeleteProjectById, neonDeleteProjectJwksById, neonDeleteProjectPermission, neonDeleteVpcEndpointByProjectId, neonGetAvailablePreloadLibraries, neonGetConsumptionHistoryProjects, neonGetProjectConnectionUri, neonGetProjectEndpointInformation, neonGetProjectOperationById, neonListSharedProjects, neonRetrieveJwksForProject, neonRetrieveProjectOperations, neonRetrieveProjectPermissions, neonRetrieveProjectsList, neonRetrieveVpcEndpointsForProject, neonUpdateProjectSettingsById } from './projects.js';
3
+ export { neonAcceptProjectsTransferRequests, neonAccessProjectDetailsById, neonAddNewJwksToProjectEndpoint, neonAddProjectEmailPermission, neonCreateProjectsTransferRequests, neonCreateProjectWithQuotaAndSettings, neonCreateVpcEndpointLabel, neonDeleteProjectById, neonDeleteProjectJwksById, neonDeleteProjectPermission, neonDeleteVpcEndpointByProjectId, neonGetAvailablePreloadLibraries, neonGetConsumptionHistoryProjects, neonGetProjectConnectionUri, neonGetProjectEndpointInformation, neonGetProjectOperationById, neonListSharedProjects, neonRetrieveJwksForProject, neonRetrieveProjectOperations, neonRetrieveProjectPermissions, neonRetrieveProjectsList, neonRetrieveVpcEndpointsForProject, neonUpdateProjectSettingsById };
4
+ import { neonAddRoleToBranch, neonCountProjectBranches, neonCreateBranchDatabase, neonCreateBranchesSnapshot, neonCreateNewProjectBranch, neonCreateProjectBranchAnonymized, neonDeleteDatabaseFromBranch, neonDeleteProjectBranchById, neonDeleteProjectBranchRole, neonFetchDatabaseForBranch, neonFinalizeBranchRestore, neonGetBranchesAnonymizedStatus, neonGetBranchesBackupSchedule, neonGetBranchesForProject, neonGetBranchesMaskingRules, neonGetBranchRolesForProject, neonGetProjectBranches, neonGetProjectBranchRole, neonGetProjectBranchSchemaComparison, neonGetSchemaForProjectBranch, neonModifyBranchDetailsInProject, neonPatchBranchDatabaseInformation, neonResetRolePasswordForBranch, neonRestoreProjectBranch, neonRetrieveBranchDatabaseDetails, neonRetrieveBranchEndpoints, neonRevealRolePasswordInBranch, neonSetBranchAsDefault, neonStartBranchAnonymization, neonUpdateBranchesMaskingRules } from './branches.js';
5
+ export { neonAddRoleToBranch, neonCountProjectBranches, neonCreateBranchDatabase, neonCreateBranchesSnapshot, neonCreateNewProjectBranch, neonCreateProjectBranchAnonymized, neonDeleteDatabaseFromBranch, neonDeleteProjectBranchById, neonDeleteProjectBranchRole, neonFetchDatabaseForBranch, neonFinalizeBranchRestore, neonGetBranchesAnonymizedStatus, neonGetBranchesBackupSchedule, neonGetBranchesForProject, neonGetBranchesMaskingRules, neonGetBranchRolesForProject, neonGetProjectBranches, neonGetProjectBranchRole, neonGetProjectBranchSchemaComparison, neonGetSchemaForProjectBranch, neonModifyBranchDetailsInProject, neonPatchBranchDatabaseInformation, neonResetRolePasswordForBranch, neonRestoreProjectBranch, neonRetrieveBranchDatabaseDetails, neonRetrieveBranchEndpoints, neonRevealRolePasswordInBranch, neonSetBranchAsDefault, neonStartBranchAnonymization, neonUpdateBranchesMaskingRules };
6
+ import { neonCreateApiKeyForOrganization, neonCreateNewApiKey, neonCreateVpcEndpointWithLabel, neonDeleteApiKeyById, neonDeleteOrganizationApiKey, neonDeleteOrganizationMember, neonDeleteVpcEndpointByIds, neonFetchOrganizationMembersById, neonFetchVpcendpointDetailsById, neonGetCurrentUserInformation, neonGetOrganizationApiKeys, neonGetUserOrganizations, neonGetVpcRegionEndpoints, neonListApiKeys, neonListVpcVpcEndpoints, neonRetrieveAccountConsumptionHistory, neonRetrieveOrganizationById, neonRetrieveOrganizationInvitations, neonRetrieveOrganizationMemberInfo, neonSendOrganizationInvitations, neonTransferProjectsBetweenOrganizations, neonTransferUserProjectsToOrganization, neonUpdateOrganizationMemberRole } from './orgs.js';
7
+ export { neonCreateApiKeyForOrganization, neonCreateNewApiKey, neonCreateVpcEndpointWithLabel, neonDeleteApiKeyById, neonDeleteOrganizationApiKey, neonDeleteOrganizationMember, neonDeleteVpcEndpointByIds, neonFetchOrganizationMembersById, neonFetchVpcendpointDetailsById, neonGetCurrentUserInformation, neonGetOrganizationApiKeys, neonGetUserOrganizations, neonGetVpcRegionEndpoints, neonListApiKeys, neonListVpcVpcEndpoints, neonRetrieveAccountConsumptionHistory, neonRetrieveOrganizationById, neonRetrieveOrganizationInvitations, neonRetrieveOrganizationMemberInfo, neonSendOrganizationInvitations, neonTransferProjectsBetweenOrganizations, neonTransferUserProjectsToOrganization, neonUpdateOrganizationMemberRole };
8
+ import { neonCreateAuthKeys, neonCreateAuthUser, neonCreateBranchesAuth, neonDeleteAuthDomainFromProject, neonDeleteAuthDomains, neonDeleteAuthOauthProvider, neonDeleteAuthUser, neonDisableBranchesAuth, neonGetAuth, neonGetAuthAllowLocalhost, neonGetAuthEmailProvider, neonListAuthDomains, neonListAuthOauthProviders, neonListAuthOauthProviders2, neonSendAuthTestEmail, neonUpdateAuthAllowLocalhost, neonUpdateAuthEmailProvider, neonUpdateAuthOauthProviders } from './auth.js';
9
+ export { neonCreateAuthKeys, neonCreateAuthUser, neonCreateBranchesAuth, neonDeleteAuthDomainFromProject, neonDeleteAuthDomains, neonDeleteAuthOauthProvider, neonDeleteAuthUser, neonDisableBranchesAuth, neonGetAuth, neonGetAuthAllowLocalhost, neonGetAuthEmailProvider, neonListAuthDomains, neonListAuthOauthProviders, neonListAuthOauthProviders2, neonSendAuthTestEmail, neonUpdateAuthAllowLocalhost, neonUpdateAuthEmailProvider, neonUpdateAuthOauthProviders };
10
+ import { neonCreateBranchesDataApi, neonDeleteBranchDataApi, neonGetBranchesDataApi, neonUpdateBranchesDataApi } from './dataapi.js';
11
+ export { neonCreateBranchesDataApi, neonDeleteBranchDataApi, neonGetBranchesDataApi, neonUpdateBranchesDataApi };
12
+ import { neonCreateComputeEndpoint, neonDeleteProjectEndpoint, neonRestartProjectEndpoint, neonRetrieveProjectEndpointDetails, neonStartEndpointForProject, neonSuspendProjectEndpointById, neonUpdateProjectComputeEndpointSettings } from './endpoints.js';
13
+ export { neonCreateComputeEndpoint, neonDeleteProjectEndpoint, neonRestartProjectEndpoint, neonRetrieveProjectEndpointDetails, neonStartEndpointForProject, neonSuspendProjectEndpointById, neonUpdateProjectComputeEndpointSettings };
14
+ import { neonDeleteProjectSnapshot, neonListProjectsSnapshots, neonRestoreSnapshot, neonUpdateProjectsSnapshots } from './snapshots.js';
15
+ export { neonDeleteProjectSnapshot, neonListProjectsSnapshots, neonRestoreSnapshot, neonUpdateProjectsSnapshots };
16
+ import { neonRetrieveAllRegions } from './meta.js';
17
+ export { neonRetrieveAllRegions };
18
+ export const neonTools = [
19
+ { name: 'NeonAcceptProjectsTransferRequests', description: neonAcceptProjectsTransferRequests.description, tool: neonAcceptProjectsTransferRequests, requiredAuth: 'neonApiKey', scope: 'write' },
20
+ { name: 'NeonAccessProjectDetailsById', description: neonAccessProjectDetailsById.description, tool: neonAccessProjectDetailsById, requiredAuth: 'neonApiKey', scope: 'write' },
21
+ { name: 'NeonAddNewJwksToProjectEndpoint', description: neonAddNewJwksToProjectEndpoint.description, tool: neonAddNewJwksToProjectEndpoint, requiredAuth: 'neonApiKey', scope: 'write' },
22
+ { name: 'NeonAddProjectEmailPermission', description: neonAddProjectEmailPermission.description, tool: neonAddProjectEmailPermission, requiredAuth: 'neonApiKey', scope: 'write' },
23
+ { name: 'NeonAddRoleToBranch', description: neonAddRoleToBranch.description, tool: neonAddRoleToBranch, requiredAuth: 'neonApiKey', scope: 'write' },
24
+ { name: 'NeonCountProjectBranches', description: neonCountProjectBranches.description, tool: neonCountProjectBranches, requiredAuth: 'neonApiKey', scope: 'read' },
25
+ { name: 'NeonCreateApiKeyForOrganization', description: neonCreateApiKeyForOrganization.description, tool: neonCreateApiKeyForOrganization, requiredAuth: 'neonApiKey', scope: 'write' },
26
+ { name: 'NeonCreateAuthKeys', description: neonCreateAuthKeys.description, tool: neonCreateAuthKeys, requiredAuth: 'neonApiKey', scope: 'write' },
27
+ { name: 'NeonCreateAuthUser', description: neonCreateAuthUser.description, tool: neonCreateAuthUser, requiredAuth: 'neonApiKey', scope: 'write' },
28
+ { name: 'NeonCreateBranchDatabase', description: neonCreateBranchDatabase.description, tool: neonCreateBranchDatabase, requiredAuth: 'neonApiKey', scope: 'write' },
29
+ { name: 'NeonCreateBranchesAuth', description: neonCreateBranchesAuth.description, tool: neonCreateBranchesAuth, requiredAuth: 'neonApiKey', scope: 'write' },
30
+ { name: 'NeonCreateBranchesDataApi', description: neonCreateBranchesDataApi.description, tool: neonCreateBranchesDataApi, requiredAuth: 'neonApiKey', scope: 'write' },
31
+ { name: 'NeonCreateBranchesSnapshot', description: neonCreateBranchesSnapshot.description, tool: neonCreateBranchesSnapshot, requiredAuth: 'neonApiKey', scope: 'write' },
32
+ { name: 'NeonCreateComputeEndpoint', description: neonCreateComputeEndpoint.description, tool: neonCreateComputeEndpoint, requiredAuth: 'neonApiKey', scope: 'write' },
33
+ { name: 'NeonCreateNewApiKey', description: neonCreateNewApiKey.description, tool: neonCreateNewApiKey, requiredAuth: 'neonApiKey', scope: 'write' },
34
+ { name: 'NeonCreateNewProjectBranch', description: neonCreateNewProjectBranch.description, tool: neonCreateNewProjectBranch, requiredAuth: 'neonApiKey', scope: 'write' },
35
+ { name: 'NeonCreateProjectBranchAnonymized', description: neonCreateProjectBranchAnonymized.description, tool: neonCreateProjectBranchAnonymized, requiredAuth: 'neonApiKey', scope: 'write' },
36
+ { name: 'NeonCreateProjectsTransferRequests', description: neonCreateProjectsTransferRequests.description, tool: neonCreateProjectsTransferRequests, requiredAuth: 'neonApiKey', scope: 'write' },
37
+ { name: 'NeonCreateProjectWithQuotaAndSettings', description: neonCreateProjectWithQuotaAndSettings.description, tool: neonCreateProjectWithQuotaAndSettings, requiredAuth: 'neonApiKey', scope: 'write' },
38
+ { name: 'NeonCreateVpcEndpointLabel', description: neonCreateVpcEndpointLabel.description, tool: neonCreateVpcEndpointLabel, requiredAuth: 'neonApiKey', scope: 'write' },
39
+ { name: 'NeonCreateVpcEndpointWithLabel', description: neonCreateVpcEndpointWithLabel.description, tool: neonCreateVpcEndpointWithLabel, requiredAuth: 'neonApiKey', scope: 'write' },
40
+ { name: 'NeonDeleteApiKeyById', description: neonDeleteApiKeyById.description, tool: neonDeleteApiKeyById, requiredAuth: 'neonApiKey', scope: 'delete' },
41
+ { name: 'NeonDeleteAuthDomainFromProject', description: neonDeleteAuthDomainFromProject.description, tool: neonDeleteAuthDomainFromProject, requiredAuth: 'neonApiKey', scope: 'delete' },
42
+ { name: 'NeonDeleteAuthDomains', description: neonDeleteAuthDomains.description, tool: neonDeleteAuthDomains, requiredAuth: 'neonApiKey', scope: 'delete' },
43
+ { name: 'NeonDeleteAuthOauthProvider', description: neonDeleteAuthOauthProvider.description, tool: neonDeleteAuthOauthProvider, requiredAuth: 'neonApiKey', scope: 'delete' },
44
+ { name: 'NeonDeleteAuthUser', description: neonDeleteAuthUser.description, tool: neonDeleteAuthUser, requiredAuth: 'neonApiKey', scope: 'delete' },
45
+ { name: 'NeonDeleteBranchDataApi', description: neonDeleteBranchDataApi.description, tool: neonDeleteBranchDataApi, requiredAuth: 'neonApiKey', scope: 'delete' },
46
+ { name: 'NeonDeleteDatabaseFromBranch', description: neonDeleteDatabaseFromBranch.description, tool: neonDeleteDatabaseFromBranch, requiredAuth: 'neonApiKey', scope: 'delete' },
47
+ { name: 'NeonDeleteOrganizationApiKey', description: neonDeleteOrganizationApiKey.description, tool: neonDeleteOrganizationApiKey, requiredAuth: 'neonApiKey', scope: 'delete' },
48
+ { name: 'NeonDeleteOrganizationMember', description: neonDeleteOrganizationMember.description, tool: neonDeleteOrganizationMember, requiredAuth: 'neonApiKey', scope: 'delete' },
49
+ { name: 'NeonDeleteProjectBranchById', description: neonDeleteProjectBranchById.description, tool: neonDeleteProjectBranchById, requiredAuth: 'neonApiKey', scope: 'delete' },
50
+ { name: 'NeonDeleteProjectBranchRole', description: neonDeleteProjectBranchRole.description, tool: neonDeleteProjectBranchRole, requiredAuth: 'neonApiKey', scope: 'delete' },
51
+ { name: 'NeonDeleteProjectById', description: neonDeleteProjectById.description, tool: neonDeleteProjectById, requiredAuth: 'neonApiKey', scope: 'delete' },
52
+ { name: 'NeonDeleteProjectEndpoint', description: neonDeleteProjectEndpoint.description, tool: neonDeleteProjectEndpoint, requiredAuth: 'neonApiKey', scope: 'delete' },
53
+ { name: 'NeonDeleteProjectJwksById', description: neonDeleteProjectJwksById.description, tool: neonDeleteProjectJwksById, requiredAuth: 'neonApiKey', scope: 'delete' },
54
+ { name: 'NeonDeleteProjectPermission', description: neonDeleteProjectPermission.description, tool: neonDeleteProjectPermission, requiredAuth: 'neonApiKey', scope: 'delete' },
55
+ { name: 'NeonDeleteProjectSnapshot', description: neonDeleteProjectSnapshot.description, tool: neonDeleteProjectSnapshot, requiredAuth: 'neonApiKey', scope: 'delete' },
56
+ { name: 'NeonDeleteVpcEndpointByIds', description: neonDeleteVpcEndpointByIds.description, tool: neonDeleteVpcEndpointByIds, requiredAuth: 'neonApiKey', scope: 'delete' },
57
+ { name: 'NeonDeleteVpcEndpointByProjectId', description: neonDeleteVpcEndpointByProjectId.description, tool: neonDeleteVpcEndpointByProjectId, requiredAuth: 'neonApiKey', scope: 'delete' },
58
+ { name: 'NeonDisableBranchesAuth', description: neonDisableBranchesAuth.description, tool: neonDisableBranchesAuth, requiredAuth: 'neonApiKey', scope: 'delete' },
59
+ { name: 'NeonFetchDatabaseForBranch', description: neonFetchDatabaseForBranch.description, tool: neonFetchDatabaseForBranch, requiredAuth: 'neonApiKey', scope: 'read' },
60
+ { name: 'NeonFetchOrganizationMembersById', description: neonFetchOrganizationMembersById.description, tool: neonFetchOrganizationMembersById, requiredAuth: 'neonApiKey', scope: 'read' },
61
+ { name: 'NeonFetchVpcendpointDetailsById', description: neonFetchVpcendpointDetailsById.description, tool: neonFetchVpcendpointDetailsById, requiredAuth: 'neonApiKey', scope: 'read' },
62
+ { name: 'NeonFinalizeBranchRestore', description: neonFinalizeBranchRestore.description, tool: neonFinalizeBranchRestore, requiredAuth: 'neonApiKey', scope: 'write' },
63
+ { name: 'NeonGetAuth', description: neonGetAuth.description, tool: neonGetAuth, requiredAuth: 'neonApiKey', scope: 'read' },
64
+ { name: 'NeonGetAuthAllowLocalhost', description: neonGetAuthAllowLocalhost.description, tool: neonGetAuthAllowLocalhost, requiredAuth: 'neonApiKey', scope: 'read' },
65
+ { name: 'NeonGetAuthEmailProvider', description: neonGetAuthEmailProvider.description, tool: neonGetAuthEmailProvider, requiredAuth: 'neonApiKey', scope: 'read' },
66
+ { name: 'NeonGetAvailablePreloadLibraries', description: neonGetAvailablePreloadLibraries.description, tool: neonGetAvailablePreloadLibraries, requiredAuth: 'neonApiKey', scope: 'read' },
67
+ { name: 'NeonGetBranchesAnonymizedStatus', description: neonGetBranchesAnonymizedStatus.description, tool: neonGetBranchesAnonymizedStatus, requiredAuth: 'neonApiKey', scope: 'read' },
68
+ { name: 'NeonGetBranchesBackupSchedule', description: neonGetBranchesBackupSchedule.description, tool: neonGetBranchesBackupSchedule, requiredAuth: 'neonApiKey', scope: 'read' },
69
+ { name: 'NeonGetBranchesDataApi', description: neonGetBranchesDataApi.description, tool: neonGetBranchesDataApi, requiredAuth: 'neonApiKey', scope: 'read' },
70
+ { name: 'NeonGetBranchesForProject', description: neonGetBranchesForProject.description, tool: neonGetBranchesForProject, requiredAuth: 'neonApiKey', scope: 'read' },
71
+ { name: 'NeonGetBranchesMaskingRules', description: neonGetBranchesMaskingRules.description, tool: neonGetBranchesMaskingRules, requiredAuth: 'neonApiKey', scope: 'read' },
72
+ { name: 'NeonGetBranchRolesForProject', description: neonGetBranchRolesForProject.description, tool: neonGetBranchRolesForProject, requiredAuth: 'neonApiKey', scope: 'read' },
73
+ { name: 'NeonGetConsumptionHistoryProjects', description: neonGetConsumptionHistoryProjects.description, tool: neonGetConsumptionHistoryProjects, requiredAuth: 'neonApiKey', scope: 'read' },
74
+ { name: 'NeonGetCurrentUserInformation', description: neonGetCurrentUserInformation.description, tool: neonGetCurrentUserInformation, requiredAuth: 'neonApiKey', scope: 'read' },
75
+ { name: 'NeonGetOrganizationApiKeys', description: neonGetOrganizationApiKeys.description, tool: neonGetOrganizationApiKeys, requiredAuth: 'neonApiKey', scope: 'read' },
76
+ { name: 'NeonGetProjectBranches', description: neonGetProjectBranches.description, tool: neonGetProjectBranches, requiredAuth: 'neonApiKey', scope: 'read' },
77
+ { name: 'NeonGetProjectBranchRole', description: neonGetProjectBranchRole.description, tool: neonGetProjectBranchRole, requiredAuth: 'neonApiKey', scope: 'read' },
78
+ { name: 'NeonGetProjectBranchSchemaComparison', description: neonGetProjectBranchSchemaComparison.description, tool: neonGetProjectBranchSchemaComparison, requiredAuth: 'neonApiKey', scope: 'read' },
79
+ { name: 'NeonGetProjectConnectionUri', description: neonGetProjectConnectionUri.description, tool: neonGetProjectConnectionUri, requiredAuth: 'neonApiKey', scope: 'read' },
80
+ { name: 'NeonGetProjectEndpointInformation', description: neonGetProjectEndpointInformation.description, tool: neonGetProjectEndpointInformation, requiredAuth: 'neonApiKey', scope: 'read' },
81
+ { name: 'NeonGetProjectOperationById', description: neonGetProjectOperationById.description, tool: neonGetProjectOperationById, requiredAuth: 'neonApiKey', scope: 'read' },
82
+ { name: 'NeonGetSchemaForProjectBranch', description: neonGetSchemaForProjectBranch.description, tool: neonGetSchemaForProjectBranch, requiredAuth: 'neonApiKey', scope: 'read' },
83
+ { name: 'NeonGetUserOrganizations', description: neonGetUserOrganizations.description, tool: neonGetUserOrganizations, requiredAuth: 'neonApiKey', scope: 'read' },
84
+ { name: 'NeonGetVpcRegionEndpoints', description: neonGetVpcRegionEndpoints.description, tool: neonGetVpcRegionEndpoints, requiredAuth: 'neonApiKey', scope: 'read' },
85
+ { name: 'NeonListApiKeys', description: neonListApiKeys.description, tool: neonListApiKeys, requiredAuth: 'neonApiKey', scope: 'read' },
86
+ { name: 'NeonListAuthDomains', description: neonListAuthDomains.description, tool: neonListAuthDomains, requiredAuth: 'neonApiKey', scope: 'read' },
87
+ { name: 'NeonListAuthOauthProviders', description: neonListAuthOauthProviders.description, tool: neonListAuthOauthProviders, requiredAuth: 'neonApiKey', scope: 'read' },
88
+ { name: 'NeonListAuthOauthProviders2', description: neonListAuthOauthProviders2.description, tool: neonListAuthOauthProviders2, requiredAuth: 'neonApiKey', scope: 'read' },
89
+ { name: 'NeonListProjectsSnapshots', description: neonListProjectsSnapshots.description, tool: neonListProjectsSnapshots, requiredAuth: 'neonApiKey', scope: 'read' },
90
+ { name: 'NeonListSharedProjects', description: neonListSharedProjects.description, tool: neonListSharedProjects, requiredAuth: 'neonApiKey', scope: 'read' },
91
+ { name: 'NeonListVpcVpcEndpoints', description: neonListVpcVpcEndpoints.description, tool: neonListVpcVpcEndpoints, requiredAuth: 'neonApiKey', scope: 'read' },
92
+ { name: 'NeonModifyBranchDetailsInProject', description: neonModifyBranchDetailsInProject.description, tool: neonModifyBranchDetailsInProject, requiredAuth: 'neonApiKey', scope: 'write' },
93
+ { name: 'NeonPatchBranchDatabaseInformation', description: neonPatchBranchDatabaseInformation.description, tool: neonPatchBranchDatabaseInformation, requiredAuth: 'neonApiKey', scope: 'write' },
94
+ { name: 'NeonResetRolePasswordForBranch', description: neonResetRolePasswordForBranch.description, tool: neonResetRolePasswordForBranch, requiredAuth: 'neonApiKey', scope: 'write' },
95
+ { name: 'NeonRestartProjectEndpoint', description: neonRestartProjectEndpoint.description, tool: neonRestartProjectEndpoint, requiredAuth: 'neonApiKey', scope: 'write' },
96
+ { name: 'NeonRestoreProjectBranch', description: neonRestoreProjectBranch.description, tool: neonRestoreProjectBranch, requiredAuth: 'neonApiKey', scope: 'write' },
97
+ { name: 'NeonRestoreSnapshot', description: neonRestoreSnapshot.description, tool: neonRestoreSnapshot, requiredAuth: 'neonApiKey', scope: 'write' },
98
+ { name: 'NeonRetrieveAccountConsumptionHistory', description: neonRetrieveAccountConsumptionHistory.description, tool: neonRetrieveAccountConsumptionHistory, requiredAuth: 'neonApiKey', scope: 'read' },
99
+ { name: 'NeonRetrieveAllRegions', description: neonRetrieveAllRegions.description, tool: neonRetrieveAllRegions, requiredAuth: 'neonApiKey', scope: 'read' },
100
+ { name: 'NeonRetrieveBranchDatabaseDetails', description: neonRetrieveBranchDatabaseDetails.description, tool: neonRetrieveBranchDatabaseDetails, requiredAuth: 'neonApiKey', scope: 'read' },
101
+ { name: 'NeonRetrieveBranchEndpoints', description: neonRetrieveBranchEndpoints.description, tool: neonRetrieveBranchEndpoints, requiredAuth: 'neonApiKey', scope: 'read' },
102
+ { name: 'NeonRetrieveJwksForProject', description: neonRetrieveJwksForProject.description, tool: neonRetrieveJwksForProject, requiredAuth: 'neonApiKey', scope: 'read' },
103
+ { name: 'NeonRetrieveOrganizationById', description: neonRetrieveOrganizationById.description, tool: neonRetrieveOrganizationById, requiredAuth: 'neonApiKey', scope: 'read' },
104
+ { name: 'NeonRetrieveOrganizationInvitations', description: neonRetrieveOrganizationInvitations.description, tool: neonRetrieveOrganizationInvitations, requiredAuth: 'neonApiKey', scope: 'read' },
105
+ { name: 'NeonRetrieveOrganizationMemberInfo', description: neonRetrieveOrganizationMemberInfo.description, tool: neonRetrieveOrganizationMemberInfo, requiredAuth: 'neonApiKey', scope: 'read' },
106
+ { name: 'NeonRetrieveProjectEndpointDetails', description: neonRetrieveProjectEndpointDetails.description, tool: neonRetrieveProjectEndpointDetails, requiredAuth: 'neonApiKey', scope: 'read' },
107
+ { name: 'NeonRetrieveProjectOperations', description: neonRetrieveProjectOperations.description, tool: neonRetrieveProjectOperations, requiredAuth: 'neonApiKey', scope: 'read' },
108
+ { name: 'NeonRetrieveProjectPermissions', description: neonRetrieveProjectPermissions.description, tool: neonRetrieveProjectPermissions, requiredAuth: 'neonApiKey', scope: 'read' },
109
+ { name: 'NeonRetrieveProjectsList', description: neonRetrieveProjectsList.description, tool: neonRetrieveProjectsList, requiredAuth: 'neonApiKey', scope: 'read' },
110
+ { name: 'NeonRetrieveVpcEndpointsForProject', description: neonRetrieveVpcEndpointsForProject.description, tool: neonRetrieveVpcEndpointsForProject, requiredAuth: 'neonApiKey', scope: 'read' },
111
+ { name: 'NeonRevealRolePasswordInBranch', description: neonRevealRolePasswordInBranch.description, tool: neonRevealRolePasswordInBranch, requiredAuth: 'neonApiKey', scope: 'write' },
112
+ { name: 'NeonSendAuthTestEmail', description: neonSendAuthTestEmail.description, tool: neonSendAuthTestEmail, requiredAuth: 'neonApiKey', scope: 'write' },
113
+ { name: 'NeonSendOrganizationInvitations', description: neonSendOrganizationInvitations.description, tool: neonSendOrganizationInvitations, requiredAuth: 'neonApiKey', scope: 'write' },
114
+ { name: 'NeonSetBranchAsDefault', description: neonSetBranchAsDefault.description, tool: neonSetBranchAsDefault, requiredAuth: 'neonApiKey', scope: 'write' },
115
+ { name: 'NeonStartBranchAnonymization', description: neonStartBranchAnonymization.description, tool: neonStartBranchAnonymization, requiredAuth: 'neonApiKey', scope: 'write' },
116
+ { name: 'NeonStartEndpointForProject', description: neonStartEndpointForProject.description, tool: neonStartEndpointForProject, requiredAuth: 'neonApiKey', scope: 'write' },
117
+ { name: 'NeonSuspendProjectEndpointById', description: neonSuspendProjectEndpointById.description, tool: neonSuspendProjectEndpointById, requiredAuth: 'neonApiKey', scope: 'write' },
118
+ { name: 'NeonTransferProjectsBetweenOrganizations', description: neonTransferProjectsBetweenOrganizations.description, tool: neonTransferProjectsBetweenOrganizations, requiredAuth: 'neonApiKey', scope: 'write' },
119
+ { name: 'NeonTransferUserProjectsToOrganization', description: neonTransferUserProjectsToOrganization.description, tool: neonTransferUserProjectsToOrganization, requiredAuth: 'neonApiKey', scope: 'write' },
120
+ { name: 'NeonUpdateAuthAllowLocalhost', description: neonUpdateAuthAllowLocalhost.description, tool: neonUpdateAuthAllowLocalhost, requiredAuth: 'neonApiKey', scope: 'write' },
121
+ { name: 'NeonUpdateAuthEmailProvider', description: neonUpdateAuthEmailProvider.description, tool: neonUpdateAuthEmailProvider, requiredAuth: 'neonApiKey', scope: 'write' },
122
+ { name: 'NeonUpdateAuthOauthProviders', description: neonUpdateAuthOauthProviders.description, tool: neonUpdateAuthOauthProviders, requiredAuth: 'neonApiKey', scope: 'write' },
123
+ { name: 'NeonUpdateBranchesDataApi', description: neonUpdateBranchesDataApi.description, tool: neonUpdateBranchesDataApi, requiredAuth: 'neonApiKey', scope: 'write' },
124
+ { name: 'NeonUpdateBranchesMaskingRules', description: neonUpdateBranchesMaskingRules.description, tool: neonUpdateBranchesMaskingRules, requiredAuth: 'neonApiKey', scope: 'write' },
125
+ { name: 'NeonUpdateOrganizationMemberRole', description: neonUpdateOrganizationMemberRole.description, tool: neonUpdateOrganizationMemberRole, requiredAuth: 'neonApiKey', scope: 'write' },
126
+ { name: 'NeonUpdateProjectComputeEndpointSettings', description: neonUpdateProjectComputeEndpointSettings.description, tool: neonUpdateProjectComputeEndpointSettings, requiredAuth: 'neonApiKey', scope: 'write' },
127
+ { name: 'NeonUpdateProjectSettingsById', description: neonUpdateProjectSettingsById.description, tool: neonUpdateProjectSettingsById, requiredAuth: 'neonApiKey', scope: 'write' },
128
+ { name: 'NeonUpdateProjectsSnapshots', description: neonUpdateProjectsSnapshots.description, tool: neonUpdateProjectsSnapshots, requiredAuth: 'neonApiKey', scope: 'write' },
129
+ ];
130
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ export declare const neonRetrieveAllRegions: import("ai").Tool<{
2
+ neonApiKey?: string | undefined;
3
+ }, any>;
4
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1,16 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { neon } from './client.js';
5
+ const tokenField = z.string().optional().describe('Injected by system; do not provide');
6
+ export const neonRetrieveAllRegions = tool({
7
+ description: "Retrieves a list of available geographic regions supported by the Neon B2B SaaS integration platform. This endpoint provides crucial information about the different areas where the API is accessible and optimized for service delivery. It should be used when developers need to understand the platform's global coverage, select appropriate endpoints for data localization, or implement region-specific configurations. The endpoint returns details about each region, which may include region identifiers, names, and potentially associated endpoints or data centers. This information is essential for ensuring compliance with data residency regulations and optimizing performance by choosing the most suitable region for specific integration needs.",
8
+ inputSchema: z.object({
9
+ neonApiKey: tokenField,
10
+ }),
11
+ execute: async ({ neonApiKey }) => {
12
+ const queryParams = undefined;
13
+ return neon(neonApiKey, { path: `/regions`, method: 'GET', query: queryParams });
14
+ },
15
+ });
16
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1,112 @@
1
+ export declare const neonCreateApiKeyForOrganization: import("ai").Tool<{
2
+ orgId: string;
3
+ keyName: string;
4
+ neonApiKey?: string | undefined;
5
+ }, any>;
6
+ export declare const neonCreateNewApiKey: import("ai").Tool<{
7
+ keyName: string;
8
+ neonApiKey?: string | undefined;
9
+ }, any>;
10
+ export declare const neonCreateVpcEndpointWithLabel: import("ai").Tool<{
11
+ label: string;
12
+ orgId: string;
13
+ vpcEndpointId: string;
14
+ regionId: string;
15
+ neonApiKey?: string | undefined;
16
+ }, any>;
17
+ export declare const neonDeleteApiKeyById: import("ai").Tool<{
18
+ keyId: number;
19
+ neonApiKey?: string | undefined;
20
+ }, any>;
21
+ export declare const neonDeleteOrganizationApiKey: import("ai").Tool<{
22
+ keyId: number;
23
+ orgId: string;
24
+ neonApiKey?: string | undefined;
25
+ }, any>;
26
+ export declare const neonDeleteOrganizationMember: import("ai").Tool<{
27
+ orgId: string;
28
+ memberId: string;
29
+ neonApiKey?: string | undefined;
30
+ }, any>;
31
+ export declare const neonDeleteVpcEndpointByIds: import("ai").Tool<{
32
+ orgId: string;
33
+ vpcEndpointId: string;
34
+ regionId: string;
35
+ neonApiKey?: string | undefined;
36
+ }, any>;
37
+ export declare const neonFetchOrganizationMembersById: import("ai").Tool<{
38
+ orgId: string;
39
+ neonApiKey?: string | undefined;
40
+ }, any>;
41
+ export declare const neonFetchVpcendpointDetailsById: import("ai").Tool<{
42
+ orgId: string;
43
+ vpcEndpointId: string;
44
+ regionId: string;
45
+ neonApiKey?: string | undefined;
46
+ }, any>;
47
+ export declare const neonGetCurrentUserInformation: import("ai").Tool<{
48
+ neonApiKey?: string | undefined;
49
+ }, any>;
50
+ export declare const neonGetOrganizationApiKeys: import("ai").Tool<{
51
+ orgId: string;
52
+ neonApiKey?: string | undefined;
53
+ }, any>;
54
+ export declare const neonGetUserOrganizations: import("ai").Tool<{
55
+ neonApiKey?: string | undefined;
56
+ }, any>;
57
+ export declare const neonGetVpcRegionEndpoints: import("ai").Tool<{
58
+ orgId: string;
59
+ regionId: string;
60
+ neonApiKey?: string | undefined;
61
+ }, any>;
62
+ export declare const neonListApiKeys: import("ai").Tool<{
63
+ neonApiKey?: string | undefined;
64
+ }, any>;
65
+ export declare const neonListVpcVpcEndpoints: import("ai").Tool<{
66
+ orgId: string;
67
+ neonApiKey?: string | undefined;
68
+ }, any>;
69
+ export declare const neonRetrieveAccountConsumptionHistory: import("ai").Tool<{
70
+ from: string;
71
+ to: string;
72
+ granularity: "hourly" | "daily" | "monthly";
73
+ neonApiKey?: string | undefined;
74
+ orgId?: string | undefined;
75
+ includeV1Metrics?: boolean | undefined;
76
+ }, any>;
77
+ export declare const neonRetrieveOrganizationById: import("ai").Tool<{
78
+ orgId: string;
79
+ neonApiKey?: string | undefined;
80
+ }, any>;
81
+ export declare const neonRetrieveOrganizationInvitations: import("ai").Tool<{
82
+ orgId: string;
83
+ neonApiKey?: string | undefined;
84
+ }, any>;
85
+ export declare const neonRetrieveOrganizationMemberInfo: import("ai").Tool<{
86
+ orgId: string;
87
+ memberId: string;
88
+ neonApiKey?: string | undefined;
89
+ }, any>;
90
+ export declare const neonSendOrganizationInvitations: import("ai").Tool<{
91
+ orgId: string;
92
+ invitations: Record<string, any>[];
93
+ neonApiKey?: string | undefined;
94
+ }, any>;
95
+ export declare const neonTransferProjectsBetweenOrganizations: import("ai").Tool<{
96
+ projectIds: string[];
97
+ sourceOrgId: string;
98
+ destinationOrgId: string;
99
+ neonApiKey?: string | undefined;
100
+ }, any>;
101
+ export declare const neonTransferUserProjectsToOrganization: import("ai").Tool<{
102
+ projectIds: string[];
103
+ destinationOrgId: string;
104
+ neonApiKey?: string | undefined;
105
+ }, any>;
106
+ export declare const neonUpdateOrganizationMemberRole: import("ai").Tool<{
107
+ role: "admin" | "member";
108
+ orgId: string;
109
+ memberId: string;
110
+ neonApiKey?: string | undefined;
111
+ }, any>;
112
+ //# sourceMappingURL=orgs.d.ts.map
@@ -0,0 +1,303 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { neon, setNested } from './client.js';
5
+ const tokenField = z.string().optional().describe('Injected by system; do not provide');
6
+ export const neonCreateApiKeyForOrganization = tool({
7
+ description: "Creates a new API key for the specified organization in Neon. The API key is used for authenticating and authorizing access to the Neon API. The 'key_name' parameter allows for easy identification and management of multiple API keys within the organization. IMPORTANT: The actual API key value is returned only once in the response and cannot be retrieved later. Store it securely immediately after creation. Organization API keys provide admin-level access to all organization resources, including projects, members, and settings. Only organization admins can create these keys.",
8
+ inputSchema: z.object({
9
+ neonApiKey: tokenField,
10
+ orgId: z.string().describe("The Neon organization ID. Can be found in the Organization Settings page."),
11
+ keyName: z.string().describe("A user-specified name for the API key. Maximum length: 64 characters. This name helps identify and manage the key."),
12
+ }),
13
+ execute: async ({ neonApiKey, orgId, keyName }) => {
14
+ const queryParams = undefined;
15
+ const body = {};
16
+ if (keyName !== undefined)
17
+ setNested(body, 'key_name', keyName);
18
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/api_keys`, method: 'POST', query: queryParams, body });
19
+ },
20
+ });
21
+ export const neonCreateNewApiKey = tool({
22
+ description: "Creates a new personal API key for the authenticated Neon user account. Use this action to generate API keys for programmatic access to Neon services, such as CI/CD pipelines, backend integrations, or development environments. Each key should have a descriptive name to help identify its purpose. IMPORTANT: The returned 'key' value is shown only once - store it securely immediately after creation. To manage organization-level API keys, use the organization API key endpoints instead.",
23
+ inputSchema: z.object({
24
+ neonApiKey: tokenField,
25
+ keyName: z.string().describe("A user-specified name for the API key (e.g., 'production-backend', 'ci-cd-pipeline'). Used to identify the key in the Neon console. Must be non-empty."),
26
+ }),
27
+ execute: async ({ neonApiKey, keyName }) => {
28
+ const queryParams = undefined;
29
+ const body = {};
30
+ if (keyName !== undefined)
31
+ setNested(body, 'key_name', keyName);
32
+ return neon(neonApiKey, { path: `/api_keys`, method: 'POST', query: queryParams, body });
33
+ },
34
+ });
35
+ export const neonCreateVpcEndpointWithLabel = tool({
36
+ description: "Assigns an AWS VPC endpoint to a Neon organization for Private Networking, or updates the label of an existing VPC endpoint assignment. This enables secure, private database connections through AWS PrivateLink without traversing the public internet. Requirements: - Organization must be on a Business or Enterprise plan - VPC endpoint must be created in your AWS account first - VPC endpoint must be in the same AWS region as your Neon project Use this action to: - Connect a new AWS VPC endpoint to your Neon organization - Update the descriptive label of an existing VPC endpoint assignment Returns the VPC endpoint details including its ID, label, region, and status.",
37
+ inputSchema: z.object({
38
+ neonApiKey: tokenField,
39
+ label: z.string().describe("A descriptive label for the VPC endpoint to help identify it within your organization (e.g., 'production-vpc', 'staging-database')."),
40
+ orgId: z.string().describe("The Neon organization ID (e.g., 'org-bold-bonus-12345678'). Required for organizations on Business or Enterprise plans."),
41
+ regionId: z.string().describe("The AWS region ID where the VPC endpoint is located (e.g., 'aws-us-east-1', 'aws-us-east-2', 'aws-eu-central-1'). Note: Azure regions are not supported for VPC endpoints."),
42
+ vpcEndpointId: z.string().describe("The AWS VPC endpoint ID to assign to the Neon organization (e.g., 'vpce-0123456789abcdef0'). This must be a valid VPC endpoint created in your AWS account."),
43
+ }),
44
+ execute: async ({ neonApiKey, label, orgId, regionId, vpcEndpointId }) => {
45
+ const queryParams = undefined;
46
+ const body = {};
47
+ if (label !== undefined)
48
+ setNested(body, 'label', label);
49
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/vpc/region/${encodeURIComponent(regionId)}/vpc_endpoints/${encodeURIComponent(vpcEndpointId)}`, method: 'POST', query: queryParams, body });
50
+ },
51
+ });
52
+ export const neonDeleteApiKeyById = tool({
53
+ description: "Deletes a specific API key from the Neon platform. This endpoint should be used when you need to revoke access for a particular API key, such as when an employee leaves the organization or when you suspect the key has been compromised. The operation is irreversible, so use it with caution. Once deleted, any applications or services using this API key will lose access to Neon's API. This endpoint helps maintain the security of your Neon account by allowing you to manage and control API key access effectively.",
54
+ inputSchema: z.object({
55
+ neonApiKey: tokenField,
56
+ keyId: z.number().int().describe("The numeric ID of the API key to delete. You can obtain this ID from the list_api_keys action. Example: 2690219"),
57
+ }),
58
+ execute: async ({ neonApiKey, keyId }) => {
59
+ const queryParams = undefined;
60
+ return neon(neonApiKey, { path: `/api_keys/${encodeURIComponent(keyId)}`, method: 'DELETE', query: queryParams });
61
+ },
62
+ });
63
+ export const neonDeleteOrganizationApiKey = tool({
64
+ description: "Deletes a specific API key associated with an organization in the Neon platform. This endpoint is used to revoke access for a particular API key, enhancing security by removing unused or compromised keys. It should be used when an API key is no longer needed, when rotating keys for security purposes, or when an API key may have been exposed. Once deleted, the API key cannot be recovered, and any systems using this key will lose access to the Neon API. Ensure you have a backup or replacement key in place before deletion to avoid service interruptions.",
65
+ inputSchema: z.object({
66
+ neonApiKey: tokenField,
67
+ keyId: z.number().int().describe("The unique integer identifier of the API key to delete. This ID is returned when creating an API key or can be obtained from the list organization API keys endpoint."),
68
+ orgId: z.string().describe("The Neon organization ID. Format: 'org-<adjective>-<noun>-<number>' (e.g., 'org-cool-breeze-12345678'). Can be obtained from the get user organizations endpoint."),
69
+ }),
70
+ execute: async ({ neonApiKey, keyId, orgId }) => {
71
+ const queryParams = undefined;
72
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/api_keys/${encodeURIComponent(keyId)}`, method: 'DELETE', query: queryParams });
73
+ },
74
+ });
75
+ export const neonDeleteOrganizationMember = tool({
76
+ description: "Removes a specific member from a Neon organization. This action permanently revokes the member's access to all organization resources. Use this when an employee leaves the company, changes roles, or their access needs to be revoked. Important notes: - This action cannot be undone; re-adding requires a new invitation - You cannot delete the last admin member of an organization - The member_id must be a valid UUID (not the user's email) - Requires admin permissions on the organization Use fetch_organization_members_by_id first to get valid member IDs.",
77
+ inputSchema: z.object({
78
+ neonApiKey: tokenField,
79
+ orgId: z.string().describe("The Neon organization ID. Format: 'org-<name>-<id>' (e.g., 'org-my-company-12345678'). Can be retrieved using the get_user_organizations action."),
80
+ memberId: z.string().describe("The unique identifier of the organization member to remove. Must be a valid UUID format (e.g., '46bbb36a-8e45-4f4a-93c0-03e39ca4204e'). Can be retrieved using the fetch_organization_members_by_id action."),
81
+ }),
82
+ execute: async ({ neonApiKey, orgId, memberId }) => {
83
+ const queryParams = undefined;
84
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/members/${encodeURIComponent(memberId)}`, method: 'DELETE', query: queryParams });
85
+ },
86
+ });
87
+ export const neonDeleteVpcEndpointByIds = tool({
88
+ description: "Permanently deletes a VPC endpoint from a Neon organization in a specified AWS region. This removes the private network connection between your AWS VPC and Neon's service. IMPORTANT: This operation is irreversible. Once a VPC endpoint is deleted from a Neon organization, it cannot be re-added to the same organization. Use with caution. Requirements: - Organization must be on the Scale plan (VPC/Private Networking is not available on Free plan) - Only AWS regions are supported (not Azure) - The VPC endpoint must exist in the specified organization and region This action is useful when decommissioning private network connections or cleaning up unused VPC endpoints. Deleting a VPC endpoint will disrupt any applications relying on private connectivity through that endpoint.",
89
+ inputSchema: z.object({
90
+ neonApiKey: tokenField,
91
+ orgId: z.string().describe("The Neon organization ID (e.g., 'org-abc-123'). This can be obtained from the get_user_organizations action."),
92
+ regionId: z.string().describe("The AWS region ID where the VPC endpoint is located. Must be an AWS region (e.g., 'aws-us-east-1', 'aws-eu-central-1'). Azure regions are not supported for VPC endpoints."),
93
+ vpcEndpointId: z.string().describe("The AWS VPC endpoint ID to delete (e.g., 'vpce-0abc123def456789'). This is the VPC endpoint ID from your AWS account."),
94
+ }),
95
+ execute: async ({ neonApiKey, orgId, regionId, vpcEndpointId }) => {
96
+ const queryParams = undefined;
97
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/vpc/region/${encodeURIComponent(regionId)}/vpc_endpoints/${encodeURIComponent(vpcEndpointId)}`, method: 'DELETE', query: queryParams });
98
+ },
99
+ });
100
+ export const neonFetchOrganizationMembersById = tool({
101
+ description: "Retrieves a list of all members associated with a specific organization in the Neon B2B SaaS integration platform. This endpoint allows you to fetch detailed information about the users or entities that belong to the organization, which is crucial for managing access, roles, and permissions within the platform. Use this endpoint when you need to review the current membership of an organization, audit user access, or gather member information for reporting purposes. The endpoint returns comprehensive member details, but it does not modify any data or provide information about non-member users. Keep in mind that for large organizations, the response may be paginated to manage the data volume efficiently.",
102
+ inputSchema: z.object({
103
+ neonApiKey: tokenField,
104
+ orgId: z.string().describe("The Neon organization ID (e.g., 'org-holy-recipe-01602027'). Can be obtained from the Get User Organizations endpoint."),
105
+ }),
106
+ execute: async ({ neonApiKey, orgId }) => {
107
+ const queryParams = undefined;
108
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/members`, method: 'GET', query: queryParams });
109
+ },
110
+ });
111
+ export const neonFetchVpcendpointDetailsById = tool({
112
+ description: "Retrieves the current state and configuration details of a specific VPC endpoint assigned to a Neon organization. VPC endpoints enable private connectivity between your AWS VPC and Neon databases using AWS PrivateLink, bypassing the public internet. Prerequisites: - Organization must be on the Scale plan or higher (VPC Private Networking is not available on Free or Launch plans) - VPC endpoint must be previously assigned using 'create_vpc_endpoint_with_label' action Use cases: - Check the operational state of a VPC endpoint (new, accepted, available, pending, rejected) - View which projects are restricted to use this VPC endpoint - Verify endpoint configuration for compliance and security auditing - Troubleshoot private connectivity issues Note: This is a read-only endpoint. To modify VPC endpoint configuration, use 'create_vpc_endpoint_with_label' or 'delete_vpc_endpoint_by_ids' actions.",
113
+ inputSchema: z.object({
114
+ neonApiKey: tokenField,
115
+ orgId: z.string().describe("The Neon organization ID. Format: 'org-xxxx-xxxx-xxxxxxxx'. Use the 'get_user_organizations' action to list available organization IDs. Note: VPC endpoints require Scale plan or higher."),
116
+ regionId: z.string().describe("The Neon AWS region ID where the VPC endpoint is located. Valid values: 'aws-us-east-1', 'aws-us-east-2', 'aws-us-west-2', 'aws-eu-central-1', 'aws-eu-west-2', 'aws-ap-southeast-1', 'aws-ap-southeast-2', 'aws-sa-east-1'. Note: Azure regions are not supported for VPC endpoints."),
117
+ vpcEndpointId: z.string().describe("The AWS VPC endpoint ID. Format: 'vpce-xxxxxxxxxxxxxxxxx' (e.g., 'vpce-1234567890abcdef0'). Use 'get_vpc_region_endpoints' action to list available VPC endpoints in a region."),
118
+ }),
119
+ execute: async ({ neonApiKey, orgId, regionId, vpcEndpointId }) => {
120
+ const queryParams = undefined;
121
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/vpc/region/${encodeURIComponent(regionId)}/vpc_endpoints/${encodeURIComponent(vpcEndpointId)}`, method: 'GET', query: queryParams });
122
+ },
123
+ });
124
+ export const neonGetCurrentUserInformation = tool({
125
+ description: "Retrieves the profile information for the currently authenticated user. This endpoint should be used when you need to access details about the user making the API request, such as their username, email, or other account-related information. It's particularly useful for personalizing user experiences or retrieving user-specific settings within the Neon platform. The endpoint doesn't accept any parameters, as it relies solely on the authentication token to identify the user. Note that this endpoint will only return information for the authenticated user and cannot be used to retrieve profiles of other users.",
126
+ inputSchema: z.object({
127
+ neonApiKey: tokenField,
128
+ }),
129
+ execute: async ({ neonApiKey }) => {
130
+ const queryParams = undefined;
131
+ return neon(neonApiKey, { path: `/users/me`, method: 'GET', query: queryParams });
132
+ },
133
+ });
134
+ export const neonGetOrganizationApiKeys = tool({
135
+ description: "Retrieves a list of all API keys associated with a specific organization in the Neon B2B SaaS integration platform. This endpoint is crucial for administrators to manage and monitor API access within their organization. It provides a comprehensive view of all active API keys, enabling effective access control and security auditing. Use this endpoint when you need to review, track, or manage the API keys in use by your organization, such as during security reviews or when updating access permissions.",
136
+ inputSchema: z.object({
137
+ neonApiKey: tokenField,
138
+ orgId: z.string().describe("The Neon organization ID"),
139
+ }),
140
+ execute: async ({ neonApiKey, orgId }) => {
141
+ const queryParams = undefined;
142
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/api_keys`, method: 'GET', query: queryParams });
143
+ },
144
+ });
145
+ export const neonGetUserOrganizations = tool({
146
+ description: "Retrieves a list of organizations associated with the currently authenticated user in the Neon platform. This endpoint allows users to view all the organizations they are a member of, providing essential information for managing multi-organization access and permissions. It should be used when a user needs to identify their organizational affiliations or when an application needs to determine a user's organization memberships for access control or data segregation purposes. The endpoint does not modify any data and is safe for frequent calls. Note that it only returns organizations the user is actively a member of and won't include pending invitations or previously left organizations.",
147
+ inputSchema: z.object({
148
+ neonApiKey: tokenField,
149
+ }),
150
+ execute: async ({ neonApiKey }) => {
151
+ const queryParams = undefined;
152
+ return neon(neonApiKey, { path: `/users/me/organizations`, method: 'GET', query: queryParams });
153
+ },
154
+ });
155
+ export const neonGetVpcRegionEndpoints = tool({
156
+ description: "Retrieves a list of VPC endpoints for a specified organization within a particular AWS region. This endpoint allows developers to obtain information about the virtual network interfaces that enable private communication between a VPC and supported AWS services. It should be used when you need to audit, manage, or gather information about the existing VPC endpoints in a specific organizational context and geographic location. The endpoint provides a comprehensive view of how the organization's VPC is connected to various AWS services, which is crucial for network architecture planning and security audits. Note that this endpoint only lists the VPC endpoints; it does not provide detailed configuration information or allow for modifications to the endpoints.",
157
+ inputSchema: z.object({
158
+ neonApiKey: tokenField,
159
+ orgId: z.string().describe("The Neon organization ID"),
160
+ regionId: z.string().describe("The Neon region ID"),
161
+ }),
162
+ execute: async ({ neonApiKey, orgId, regionId }) => {
163
+ const queryParams = undefined;
164
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/vpc/region/${encodeURIComponent(regionId)}/vpc_endpoints`, method: 'GET', query: queryParams });
165
+ },
166
+ });
167
+ export const neonListApiKeys = tool({
168
+ description: "Retrieves a list of API keys associated with the authenticated user's Neon account. This endpoint allows developers to view and manage their existing API keys, which are crucial for authentication when making requests to the Neon API. It provides an overview of all active API keys, including their identifiers and potentially other metadata such as creation date or last used date. This tool should be used when you need to audit your API keys, check for any unauthorized keys, or before creating a new key to ensure you're not exceeding any limits. It does not provide the actual secret key values for security reasons, nor does it allow for the creation or deletion of keys.",
169
+ inputSchema: z.object({
170
+ neonApiKey: tokenField,
171
+ }),
172
+ execute: async ({ neonApiKey }) => {
173
+ const queryParams = undefined;
174
+ return neon(neonApiKey, { path: `/api_keys`, method: 'GET', query: queryParams });
175
+ },
176
+ });
177
+ export const neonListVpcVpcEndpoints = tool({
178
+ description: "Tool to retrieve the list of VPC endpoints for a specified Neon organization across all regions. Use when you need to view or audit all VPC endpoints associated with an organization.",
179
+ inputSchema: z.object({
180
+ neonApiKey: tokenField,
181
+ orgId: z.string().describe("The Neon organization ID"),
182
+ }),
183
+ execute: async ({ neonApiKey, orgId }) => {
184
+ const queryParams = undefined;
185
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/vpc/vpc_endpoints`, method: 'GET', query: queryParams });
186
+ },
187
+ });
188
+ export const neonRetrieveAccountConsumptionHistory = tool({
189
+ description: "Retrieves the consumption history for a specified account within the Neon platform. This endpoint provides detailed information about resource usage and associated costs over a given time period. It's particularly useful for analyzing usage patterns, forecasting future resource needs, and managing costs in the Neon B2B SaaS integration platform. The endpoint returns data such as compute time, storage usage, API calls, and any other billable resources specific to the Neon service. Users can specify a date range and optionally filter by resource types to get a granular view of their consumption. This tool should be used when detailed analytics on resource utilization and spending are required, such as for budget planning, usage optimization, or billing reconciliation. It does not provide real-time usage data and may have a slight delay in reflecting the most recent consumption.",
190
+ inputSchema: z.object({
191
+ neonApiKey: tokenField,
192
+ to: z.string().describe("Specify the end 'date-time' for the consumption period. The 'date-time' value is rounded according to the specified granularity. For example, '2024-03-15T15:30:00Z' for 'daily' granularity will be rounded to '2024-03-15T00:00:00Z'. The specified 'date-time' value must respect the specified granularity: - For 'hourly', consumption metrics are limited to the last 168 hours. - For 'daily', consumption metrics are limited to the last 60 days. - For 'monthly', consumption metrics are limited to the past year. "),
193
+ from: z.string().describe("Specify the start 'date-time' for the consumption period. The 'date-time' value is rounded according to the specified 'granularity'. For example, '2024-03-15T15:30:00Z' for 'daily' granularity will be rounded to '2024-03-15T00:00:00Z'. The specified 'date-time' value must respect the specified granularity: - For 'hourly', consumption metrics are limited to the last 168 hours. - For 'daily', consumption metrics are limited to the last 60 days. - For 'monthly', consumption metrics are limited to the past year. The consumption history is available starting from 'March 1, 2024, at 00:00:00 UTC'. "),
194
+ orgId: z.string().optional().describe("Specify the organization for which the consumption metrics should be returned. If this parameter is not provided, the endpoint will return the metrics for the authenticated user\"s account. "),
195
+ granularity: z.enum(["hourly", "daily", "monthly"]).describe("Specify the granularity of consumption metrics. Hourly, daily, and monthly metrics are available for the last 168 hours, 60 days, and 1 year, respectively. "),
196
+ includeV1Metrics: z.boolean().optional().describe("Include metrics utilized in previous pricing models. - **data_storage_bytes_hour**: The sum of the maximum observed storage values for each hour for each project, which never decreases. "),
197
+ }),
198
+ execute: async ({ neonApiKey, to, from, orgId, granularity, includeV1Metrics }) => {
199
+ const queryParams = { to: to, from: from, org_id: orgId, granularity: granularity, include_v1_metrics: includeV1Metrics };
200
+ return neon(neonApiKey, { path: `/consumption_history/account`, method: 'GET', query: queryParams });
201
+ },
202
+ });
203
+ export const neonRetrieveOrganizationById = tool({
204
+ description: "Retrieves detailed information about a specific organization within the Neon platform. This endpoint allows you to access comprehensive data about an organization, including its configuration, members, and associated projects. Use this when you need to view or verify an organization's current state, such as checking membership, reviewing settings, or auditing organization-level information. The endpoint returns a snapshot of the organization at the time of the request and does not provide historical data or future projections. It's particularly useful for administrative tasks, reporting, and maintaining organizational oversight within the Neon ecosystem.",
205
+ inputSchema: z.object({
206
+ neonApiKey: tokenField,
207
+ orgId: z.string().describe("The Neon organization ID. Format: 'org-xxxx-xxxx-xxxxxxxx'. Use the 'get_user_organizations' action to list available organization IDs."),
208
+ }),
209
+ execute: async ({ neonApiKey, orgId }) => {
210
+ const queryParams = undefined;
211
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}`, method: 'GET', query: queryParams });
212
+ },
213
+ });
214
+ export const neonRetrieveOrganizationInvitations = tool({
215
+ description: "Retrieves a list of all pending invitations for a specified organization. This endpoint allows organization administrators to view and manage outstanding invitations sent to potential new members. It should be used when there's a need to track who has been invited to join the organization, review invitation statuses, or perform invitation-related administrative tasks. The endpoint returns details about each invitation, which may include the invitee's email, the invitation date, and the current status. It does not provide information about active members or expired invitations.",
216
+ inputSchema: z.object({
217
+ neonApiKey: tokenField,
218
+ orgId: z.string().describe("The Neon organization ID"),
219
+ }),
220
+ execute: async ({ neonApiKey, orgId }) => {
221
+ const queryParams = undefined;
222
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/invitations`, method: 'GET', query: queryParams });
223
+ },
224
+ });
225
+ export const neonRetrieveOrganizationMemberInfo = tool({
226
+ description: "Retrieves detailed information about a specific member within an organization in the Neon B2B SaaS integration platform. This endpoint allows you to fetch comprehensive data about an individual member, including their user ID, assigned role within the organization, join date, and potentially other relevant details. It's particularly useful for organization administrators who need to review or verify a member's status and permissions. The endpoint requires both the organization ID and the member ID to be specified, ensuring precise and secure access to member information. Use this when you need to access or display detailed information about a particular member in your organization management interfaces or for auditing purposes.",
227
+ inputSchema: z.object({
228
+ neonApiKey: tokenField,
229
+ orgId: z.string().describe("The Neon organization ID (e.g., 'org-holy-recipe-01602027'). Can be obtained from the Get User Organizations endpoint."),
230
+ memberId: z.string().describe("The Neon organization member ID (UUID format, e.g., '46bbb36a-8e45-4f4a-93c0-03e39ca4204e'). Can be obtained from the Fetch Organization Members endpoint."),
231
+ }),
232
+ execute: async ({ neonApiKey, orgId, memberId }) => {
233
+ const queryParams = undefined;
234
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/members/${encodeURIComponent(memberId)}`, method: 'GET', query: queryParams });
235
+ },
236
+ });
237
+ export const neonSendOrganizationInvitations = tool({
238
+ description: "Creates and sends invitations to join an organization in the Neon B2B SaaS integration platform. This endpoint allows administrators to invite multiple users simultaneously, specifying their email addresses and intended roles within the organization. It should be used when expanding the organization's membership or when assigning new roles to incoming members. The endpoint does not verify if the email addresses are associated with existing Neon accounts; it simply sends out invitations to the specified email addresses.",
239
+ inputSchema: z.object({
240
+ neonApiKey: tokenField,
241
+ orgId: z.string().describe("The Neon organization ID"),
242
+ invitations: z.array(z.record(z.any())).describe("Invitations"),
243
+ }),
244
+ execute: async ({ neonApiKey, orgId, invitations }) => {
245
+ const queryParams = undefined;
246
+ const body = {};
247
+ if (invitations !== undefined)
248
+ setNested(body, 'invitations', invitations);
249
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/invitations`, method: 'POST', query: queryParams, body });
250
+ },
251
+ });
252
+ export const neonTransferProjectsBetweenOrganizations = tool({
253
+ description: "Transfers selected projects from one organization to another organization. Use this when you need to move projects between organizations, for example during organizational restructuring or mergers. Note that projects with GitHub or Vercel integrations cannot be transferred and will cause the request to fail.",
254
+ inputSchema: z.object({
255
+ neonApiKey: tokenField,
256
+ projectIds: z.array(z.string()).describe("The list of project IDs to transfer. Maximum of 400 project IDs per request. Each project ID must belong to the source organization and cannot have GitHub or Vercel integrations installed."),
257
+ sourceOrgId: z.string().describe("The Neon organization ID that currently owns the projects (source organization). This is the organization from which projects will be transferred."),
258
+ destinationOrgId: z.string().describe("The destination organization identifier to which the projects will be transferred. Must be a valid organization ID."),
259
+ }),
260
+ execute: async ({ neonApiKey, projectIds, sourceOrgId, destinationOrgId }) => {
261
+ const queryParams = undefined;
262
+ const body = {};
263
+ if (destinationOrgId !== undefined)
264
+ setNested(body, 'destination_org_id', destinationOrgId);
265
+ if (projectIds !== undefined)
266
+ setNested(body, 'project_ids', projectIds);
267
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(sourceOrgId)}/projects/transfer`, method: 'POST', query: queryParams, body });
268
+ },
269
+ });
270
+ export const neonTransferUserProjectsToOrganization = tool({
271
+ description: "Transfers multiple projects from the authenticated user's personal account to a specified organization within the Neon B2B SaaS integration platform. This endpoint allows for bulk transfer of projects, enabling efficient management of project ownership and organization. It should be used when reorganizing project structures or when moving projects from individual ownership to team or company-wide access. The endpoint is limited to transferring a maximum of 400 projects in a single request, which helps maintain system performance and prevents abuse. It's important to note that this operation is likely irreversible, so users should exercise caution and confirm the transfer details before execution.",
272
+ inputSchema: z.object({
273
+ neonApiKey: tokenField,
274
+ projectIds: z.array(z.string()).describe("List of project IDs to transfer from the user's personal account to the organization. Maximum of 400 project IDs per request. Projects must be owned by the user and cannot have GitHub or Vercel integrations."),
275
+ destinationOrgId: z.string().describe("The unique identifier of the target organization to which the projects will be transferred. Must be an organization the user is a member of."),
276
+ }),
277
+ execute: async ({ neonApiKey, projectIds, destinationOrgId }) => {
278
+ const queryParams = undefined;
279
+ const body = {};
280
+ if (destinationOrgId !== undefined)
281
+ setNested(body, 'destination_org_id', destinationOrgId);
282
+ if (projectIds !== undefined)
283
+ setNested(body, 'project_ids', projectIds);
284
+ return neon(neonApiKey, { path: `/projects/transfer`, method: 'POST', query: queryParams, body });
285
+ },
286
+ });
287
+ export const neonUpdateOrganizationMemberRole = tool({
288
+ description: "Updates the role of a specific member within an organization in the Neon B2B SaaS integration platform. This endpoint allows changing a member's role between 'admin' and 'member', which affects their permissions and access levels within the organization. Use this endpoint when you need to promote a regular member to an admin role or demote an admin to a regular member role. It's crucial for managing access control and permissions within your organization. Note that this operation may have significant implications on the member's ability to manage resources and other members within the organization.",
289
+ inputSchema: z.object({
290
+ neonApiKey: tokenField,
291
+ role: z.enum(["admin", "member"]).describe("The role of the organization member"),
292
+ orgId: z.string().describe("The Neon organization ID"),
293
+ memberId: z.string().describe("The Neon organization member ID"),
294
+ }),
295
+ execute: async ({ neonApiKey, role, orgId, memberId }) => {
296
+ const queryParams = undefined;
297
+ const body = {};
298
+ if (role !== undefined)
299
+ setNested(body, 'role', role);
300
+ return neon(neonApiKey, { path: `/organizations/${encodeURIComponent(orgId)}/members/${encodeURIComponent(memberId)}`, method: 'PATCH', query: queryParams, body });
301
+ },
302
+ });
303
+ //# sourceMappingURL=orgs.js.map