neon 2.47.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/README.md +54 -0
  2. package/dist/_shared/auth_selection.js +76 -79
  3. package/dist/_shared/credentials.js +166 -187
  4. package/dist/_shared/env-core/env.js +395 -0
  5. package/dist/_shared/env-core/reuse-secrets.js +179 -0
  6. package/dist/_shared/paths.js +129 -126
  7. package/dist/_shared/profiles.js +192 -242
  8. package/dist/_shared/secure_file.js +36 -38
  9. package/dist/_virtual/_rolldown/runtime.js +13 -0
  10. package/dist/analytics.js +163 -207
  11. package/dist/api.js +815 -758
  12. package/dist/auth.js +121 -141
  13. package/dist/auth_context.js +39 -53
  14. package/dist/cli.js +4 -7
  15. package/dist/commands/api.js +220 -250
  16. package/dist/commands/api_keys.js +251 -314
  17. package/dist/commands/auth.js +283 -328
  18. package/dist/commands/bootstrap.js +372 -437
  19. package/dist/commands/branches.js +304 -455
  20. package/dist/commands/bucket.js +374 -514
  21. package/dist/commands/checkout.js +213 -298
  22. package/dist/commands/config.js +575 -658
  23. package/dist/commands/connection_string.js +137 -165
  24. package/dist/commands/data_api.js +238 -260
  25. package/dist/commands/databases.js +67 -76
  26. package/dist/commands/deploy.js +31 -25
  27. package/dist/commands/dev.js +642 -681
  28. package/dist/commands/diff.js +156 -200
  29. package/dist/commands/env.js +243 -303
  30. package/dist/commands/functions.js +275 -341
  31. package/dist/commands/index.js +70 -65
  32. package/dist/commands/init.js +84 -119
  33. package/dist/commands/inspect.js +55 -55
  34. package/dist/commands/ip_allow.js +88 -120
  35. package/dist/commands/link.js +874 -1019
  36. package/dist/commands/logs.js +291 -0
  37. package/dist/commands/neon_auth.js +725 -933
  38. package/dist/commands/operations.js +34 -25
  39. package/dist/commands/orgs.js +28 -18
  40. package/dist/commands/profile.js +614 -845
  41. package/dist/commands/projects.js +313 -373
  42. package/dist/commands/psql.js +60 -58
  43. package/dist/commands/roles.js +55 -58
  44. package/dist/commands/schema_diff.js +87 -131
  45. package/dist/commands/set_context.js +34 -26
  46. package/dist/commands/snapshots.js +288 -413
  47. package/dist/commands/status.js +41 -37
  48. package/dist/commands/user.js +21 -10
  49. package/dist/commands/vpc_endpoints.js +85 -113
  50. package/dist/config.js +7 -6
  51. package/dist/config_format.js +50 -66
  52. package/dist/config_template.js +128 -157
  53. package/dist/context.js +183 -235
  54. package/dist/current_branch_fast_path.js +40 -49
  55. package/dist/dev/env.js +313 -394
  56. package/dist/dev/functions.js +54 -64
  57. package/dist/dev/inputs.js +46 -58
  58. package/dist/dev/runtime.js +135 -164
  59. package/dist/dev/websocket.js +766 -959
  60. package/dist/env.js +27 -33
  61. package/dist/env_file.js +118 -132
  62. package/dist/env_services.js +36 -38
  63. package/dist/errors.js +57 -68
  64. package/dist/functions_api.js +45 -43
  65. package/dist/help.js +189 -140
  66. package/dist/index.js +182 -257
  67. package/dist/init/agents.js +137 -118
  68. package/dist/init/auth.js +58 -68
  69. package/dist/init/bootstrap.js +325 -396
  70. package/dist/init/build_config.js +4 -2
  71. package/dist/init/detect_agent.js +56 -101
  72. package/dist/init/editors.js +35 -52
  73. package/dist/init/enrich_output.js +51 -66
  74. package/dist/init/extension.js +134 -171
  75. package/dist/init/inspect.js +179 -266
  76. package/dist/init/interactive.js +510 -622
  77. package/dist/init/neonctl.js +117 -168
  78. package/dist/init/orchestrate.js +157 -173
  79. package/dist/init/phases/auth.js +188 -202
  80. package/dist/init/phases/cleanup.js +23 -23
  81. package/dist/init/phases/db.js +251 -277
  82. package/dist/init/phases/getting_started.js +213 -223
  83. package/dist/init/phases/mcp.js +174 -224
  84. package/dist/init/phases/migrations.js +247 -248
  85. package/dist/init/phases/neon_auth.js +114 -133
  86. package/dist/init/phases/setup.js +546 -703
  87. package/dist/init/phases/skills.js +75 -86
  88. package/dist/init/phases/status.js +72 -67
  89. package/dist/init/resolve_context.js +102 -99
  90. package/dist/init/route_command.js +91 -98
  91. package/dist/init/skills.js +174 -218
  92. package/dist/init/vsix.js +77 -99
  93. package/dist/log.js +17 -16
  94. package/dist/neon_services.js +104 -129
  95. package/dist/parameters.gen.js +481 -471
  96. package/dist/pkg.js +17 -19
  97. package/dist/profile_keys.js +44 -47
  98. package/dist/psql/cli.js +44 -47
  99. package/dist/psql/command/cmd_cond.js +231 -406
  100. package/dist/psql/command/cmd_connect.js +557 -764
  101. package/dist/psql/command/cmd_copy.js +727 -983
  102. package/dist/psql/command/cmd_describe.js +1499 -1688
  103. package/dist/psql/command/cmd_format.js +733 -905
  104. package/dist/psql/command/cmd_io.js +1293 -2082
  105. package/dist/psql/command/cmd_lo.js +297 -359
  106. package/dist/psql/command/cmd_meta.js +727 -878
  107. package/dist/psql/command/cmd_misc.js +138 -172
  108. package/dist/psql/command/cmd_pipeline.js +547 -1099
  109. package/dist/psql/command/cmd_restrict.js +119 -155
  110. package/dist/psql/command/cmd_show.js +529 -688
  111. package/dist/psql/command/dispatch.js +261 -325
  112. package/dist/psql/command/inputQueue.js +35 -33
  113. package/dist/psql/command/shared.js +49 -63
  114. package/dist/psql/complete/filenames.js +90 -133
  115. package/dist/psql/complete/index.js +59 -97
  116. package/dist/psql/complete/matcher.js +236 -300
  117. package/dist/psql/complete/psqlVars.js +218 -223
  118. package/dist/psql/complete/queries.js +159 -177
  119. package/dist/psql/complete/rules.js +1493 -2299
  120. package/dist/psql/core/common.js +762 -1180
  121. package/dist/psql/core/help.js +456 -546
  122. package/dist/psql/core/mainloop.js +692 -1302
  123. package/dist/psql/core/prompt.js +391 -408
  124. package/dist/psql/core/settings.js +429 -644
  125. package/dist/psql/core/sqlHelp.js +480 -554
  126. package/dist/psql/core/startup.js +626 -815
  127. package/dist/psql/core/syncVars.js +67 -110
  128. package/dist/psql/core/variables.js +156 -278
  129. package/dist/psql/describe/formatters.js +884 -1285
  130. package/dist/psql/describe/processNamePattern.js +173 -260
  131. package/dist/psql/describe/queries.js +1368 -2403
  132. package/dist/psql/describe/versionGate.js +32 -41
  133. package/dist/psql/index.js +1414 -1927
  134. package/dist/psql/io/history.js +232 -271
  135. package/dist/psql/io/input.js +103 -108
  136. package/dist/psql/io/lineEditor/buffer.js +238 -319
  137. package/dist/psql/io/lineEditor/complete.js +135 -213
  138. package/dist/psql/io/lineEditor/filename.js +139 -148
  139. package/dist/psql/io/lineEditor/index.js +653 -870
  140. package/dist/psql/io/lineEditor/keymap.js +544 -702
  141. package/dist/psql/io/lineEditor/vt100.js +294 -341
  142. package/dist/psql/io/pgpass.js +158 -187
  143. package/dist/psql/io/pgservice.js +146 -183
  144. package/dist/psql/io/psqlrc.js +328 -403
  145. package/dist/psql/print/aligned.js +1020 -1683
  146. package/dist/psql/print/asciidoc.js +180 -214
  147. package/dist/psql/print/crosstab.js +281 -442
  148. package/dist/psql/print/csv.js +48 -70
  149. package/dist/psql/print/html.js +195 -226
  150. package/dist/psql/print/json.js +75 -88
  151. package/dist/psql/print/latex.js +291 -364
  152. package/dist/psql/print/pager.js +171 -242
  153. package/dist/psql/print/troff.js +194 -226
  154. package/dist/psql/print/unaligned.js +69 -95
  155. package/dist/psql/print/units.js +167 -169
  156. package/dist/psql/scanner/slash.js +428 -483
  157. package/dist/psql/scanner/sql.js +445 -889
  158. package/dist/psql/scanner/stringutils.js +309 -379
  159. package/dist/psql/types/index.js +2 -7
  160. package/dist/psql/types/scanner.js +25 -22
  161. package/dist/psql/wire/connection.js +2042 -2803
  162. package/dist/psql/wire/copy.js +84 -100
  163. package/dist/psql/wire/notify.js +39 -59
  164. package/dist/psql/wire/pipeline.js +305 -518
  165. package/dist/psql/wire/protocol.js +349 -417
  166. package/dist/psql/wire/sasl.js +180 -265
  167. package/dist/psql/wire/tls.js +400 -561
  168. package/dist/storage_api.js +115 -129
  169. package/dist/test_utils/fixtures.js +94 -113
  170. package/dist/test_utils/oauth_server.js +10 -7
  171. package/dist/test_utils/project_dir.js +33 -0
  172. package/dist/utils/ai_gateway_notice.js +131 -162
  173. package/dist/utils/api_enums.js +21 -28
  174. package/dist/utils/auth.js +10 -4
  175. package/dist/utils/branch_notice.js +20 -19
  176. package/dist/utils/branch_picker.js +83 -89
  177. package/dist/utils/cli_name.js +15 -12
  178. package/dist/utils/compute_units.js +20 -27
  179. package/dist/utils/config_diff.js +127 -158
  180. package/dist/utils/enrichers.js +95 -148
  181. package/dist/utils/esbuild.js +133 -147
  182. package/dist/utils/flags.js +35 -47
  183. package/dist/utils/formats.js +8 -15
  184. package/dist/utils/git_diff.js +69 -80
  185. package/dist/utils/inspect_db.js +101 -143
  186. package/dist/utils/inspect_queries.js +179 -142
  187. package/dist/utils/middlewares.js +37 -44
  188. package/dist/utils/openapi.js +87 -99
  189. package/dist/utils/package_manager.js +312 -110
  190. package/dist/utils/point_in_time.js +49 -53
  191. package/dist/utils/psql.js +89 -106
  192. package/dist/utils/service_picker.js +55 -58
  193. package/dist/utils/string.js +5 -5
  194. package/dist/utils/ui.js +38 -55
  195. package/dist/utils/write_sync.js +26 -35
  196. package/dist/utils/zip.js +4 -3
  197. package/dist/writer.js +67 -87
  198. package/package.json +9 -7
@@ -1,480 +1,490 @@
1
- // FILE IS GENERATED, DO NOT EDIT
2
- export const projectCreateRequest = {
3
- 'project.settings.quota.active_time_seconds': {
4
- type: "number",
5
- description: "The total amount of wall-clock time allowed to be spent by the project's compute endpoints.\n",
6
- demandOption: false,
7
- },
8
- 'project.settings.quota.compute_time_seconds': {
9
- type: "number",
10
- description: "The total amount of CPU seconds allowed to be spent by the project's compute endpoints.\n",
11
- demandOption: false,
12
- },
13
- 'project.settings.quota.written_data_bytes': {
14
- type: "number",
15
- description: "Total amount of data written to all of a project's branches.\n",
16
- demandOption: false,
17
- },
18
- 'project.settings.quota.data_transfer_bytes': {
19
- type: "number",
20
- description: "Total amount of data transferred from all of a project's branches using the proxy.\n",
21
- demandOption: false,
22
- },
23
- 'project.settings.quota.logical_size_bytes': {
24
- type: "number",
25
- description: "Limit on the logical size of every project's branch.\n\nIf a branch exceeds its `logical_size_bytes` quota, computes can still be started,\nbut write operations will fail—allowing data to be deleted to free up space.\nComputes on other branches are not affected.\n\nSetting `logical_size_bytes` overrides any lower value set by the `neon.max_cluster_size` Postgres setting.\n",
26
- demandOption: false,
27
- },
28
- 'project.settings.allowed_ips.ips': {
29
- type: "array",
30
- description: "A list of IP addresses that are allowed to connect to the endpoint.",
31
- demandOption: false,
32
- },
33
- 'project.settings.allowed_ips.protected_branches_only': {
34
- type: "boolean",
35
- description: "If true, the list will be applied only to protected branches.",
36
- demandOption: false,
37
- },
38
- 'project.settings.enable_logical_replication': {
39
- type: "boolean",
40
- description: "Sets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended.\nOnce enabled, logical replication cannot be disabled.\n",
41
- demandOption: false,
42
- },
43
- 'project.settings.maintenance_window.weekdays': {
44
- type: "array",
45
- description: "A list of weekdays when the maintenance window is active.\nEncoded as ints, where 1 - Monday, and 7 - Sunday.\n",
46
- demandOption: true,
47
- },
48
- 'project.settings.maintenance_window.start_time': {
49
- type: "string",
50
- description: "Start time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
51
- demandOption: true,
52
- },
53
- 'project.settings.maintenance_window.end_time': {
54
- type: "string",
55
- description: "End time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
56
- demandOption: true,
57
- },
58
- 'project.settings.block_public_connections': {
59
- type: "boolean",
60
- description: "When set, connections from the public internet\nare disallowed. This supersedes the AllowedIPs list.\nThis parameter is under active development and its semantics may change in the future.\n",
61
- demandOption: false,
62
- },
63
- 'project.settings.block_vpc_connections': {
64
- type: "boolean",
65
- description: "When set, connections using VPC endpoints are disallowed.\nThis parameter is under active development and its semantics may change in the future.\n",
66
- demandOption: false,
67
- },
68
- 'project.settings.audit_log_level': {
69
- type: "string",
70
- description: undefined,
71
- demandOption: false,
72
- choices: ["base", "extended", "full"],
73
- },
74
- 'project.settings.hipaa': {
75
- type: "boolean",
76
- description: undefined,
77
- demandOption: false,
78
- },
79
- 'project.settings.preload_libraries.use_defaults': {
80
- type: "boolean",
81
- description: undefined,
82
- demandOption: false,
83
- },
84
- 'project.settings.preload_libraries.enabled_libraries': {
85
- type: "array",
86
- description: undefined,
87
- demandOption: false,
88
- },
89
- 'project.name': {
90
- type: "string",
91
- description: "The project name. If not specified, the name will be identical to the generated project ID",
92
- demandOption: false,
93
- },
94
- 'project.branch.name': {
95
- type: "string",
96
- description: "The default branch name. If not specified, the default branch name, `main`, will be used.\n",
97
- demandOption: false,
98
- },
99
- 'project.branch.role_name': {
100
- type: "string",
101
- description: "The role name. If not specified, the default role name, `{database_name}_owner`, will be used.\n",
102
- demandOption: false,
103
- },
104
- 'project.branch.database_name': {
105
- type: "string",
106
- description: "The database name. If not specified, the default database name, `neondb`, will be used.\n",
107
- demandOption: false,
108
- },
109
- 'project.provisioner': {
110
- type: "string",
111
- description: "The Neon compute provisioner.\nSpecify the `k8s-neonvm` provisioner to create a compute endpoint that supports Autoscaling.\n\nProvisioner can be one of the following values:\n* k8s-pod\n* k8s-neonvm\n* serverless-platform\n\nClients must expect, that any string value that is not documented in the description above should be treated as a error. UNKNOWN value if safe to treat as an error too.\n",
112
- demandOption: false,
113
- },
114
- 'project.region_id': {
115
- type: "string",
116
- description: "The region identifier. Refer to our [Regions](https://neon.com/docs/introduction/regions) documentation for supported regions. Values are specified in this format: `aws-us-east-1`\n",
117
- demandOption: false,
118
- },
119
- 'project.default_endpoint_settings.suspend_timeout_seconds': {
120
- type: "number",
121
- description: "Duration of inactivity in seconds after which the compute endpoint is\nautomatically suspended. The value `0` means use the default value.\nThe value `-1` means never suspend. The default value is `300` seconds (5 minutes).\nThe minimum value is `60` seconds (1 minute).\nThe maximum value is `604800` seconds (1 week). For more information, see\n[Scale to zero configuration](https://neon.com/docs/manage/endpoints#scale-to-zero-configuration).\n",
122
- demandOption: false,
123
- },
124
- 'project.pg_version': {
125
- type: "number",
126
- description: "The major Postgres version number. Generally available versions are `14`, `15`, `16`, `17`, and `18`. `19` is being rolled out and is only accepted in regions where it has been enabled; requesting it in a region where it is not yet available returns an error.",
127
- demandOption: false,
128
- },
129
- 'project.store_passwords': {
130
- type: "boolean",
131
- description: "Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.\n",
132
- demandOption: false,
133
- },
134
- 'project.history_retention_seconds': {
135
- type: "number",
136
- description: "The number of seconds to retain the shared history for all branches in this project.\nThe default is 1 day (86400 seconds).\n",
137
- demandOption: false,
138
- },
139
- 'project.org_id': {
140
- type: "string",
141
- description: "Organization id in case the project created belongs to an organization.\nIf not present, project is owned by a user and not by org.\n",
142
- demandOption: false,
143
- },
1
+ //#region src/parameters.gen.ts
2
+ const projectCreateRequest = {
3
+ "project.settings.quota.active_time_seconds": {
4
+ type: "number",
5
+ description: "The total amount of wall-clock time allowed to be spent by the project's compute endpoints.\n",
6
+ demandOption: false
7
+ },
8
+ "project.settings.quota.compute_time_seconds": {
9
+ type: "number",
10
+ description: "The total amount of CPU seconds allowed to be spent by the project's compute endpoints.\n",
11
+ demandOption: false
12
+ },
13
+ "project.settings.quota.written_data_bytes": {
14
+ type: "number",
15
+ description: "Total amount of data written to all of a project's branches.\n",
16
+ demandOption: false
17
+ },
18
+ "project.settings.quota.data_transfer_bytes": {
19
+ type: "number",
20
+ description: "Total amount of data transferred from all of a project's branches using the proxy.\n",
21
+ demandOption: false
22
+ },
23
+ "project.settings.quota.logical_size_bytes": {
24
+ type: "number",
25
+ description: "Limit on the logical size of every project's branch.\n\nIf a branch exceeds its `logical_size_bytes` quota, computes can still be started,\nbut write operations will fail—allowing data to be deleted to free up space.\nComputes on other branches are not affected.\n\nSetting `logical_size_bytes` overrides any lower value set by the `neon.max_cluster_size` Postgres setting.\n",
26
+ demandOption: false
27
+ },
28
+ "project.settings.allowed_ips.ips": {
29
+ type: "array",
30
+ description: "A list of IP addresses that are allowed to connect to the endpoint.",
31
+ demandOption: false
32
+ },
33
+ "project.settings.allowed_ips.protected_branches_only": {
34
+ type: "boolean",
35
+ description: "If true, the list will be applied only to protected branches.",
36
+ demandOption: false
37
+ },
38
+ "project.settings.enable_logical_replication": {
39
+ type: "boolean",
40
+ description: "Sets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended.\nOnce enabled, logical replication cannot be disabled.\n",
41
+ demandOption: false
42
+ },
43
+ "project.settings.maintenance_window.weekdays": {
44
+ type: "array",
45
+ description: "A list of weekdays when the maintenance window is active.\nEncoded as ints, where 1 - Monday, and 7 - Sunday.\n",
46
+ demandOption: true
47
+ },
48
+ "project.settings.maintenance_window.start_time": {
49
+ type: "string",
50
+ description: "Start time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
51
+ demandOption: true
52
+ },
53
+ "project.settings.maintenance_window.end_time": {
54
+ type: "string",
55
+ description: "End time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
56
+ demandOption: true
57
+ },
58
+ "project.settings.block_public_connections": {
59
+ type: "boolean",
60
+ description: "When set, connections from the public internet\nare disallowed. This supersedes the AllowedIPs list.\nThis parameter is under active development and its semantics may change in the future.\n",
61
+ demandOption: false
62
+ },
63
+ "project.settings.block_vpc_connections": {
64
+ type: "boolean",
65
+ description: "When set, connections using VPC endpoints are disallowed.\nThis parameter is under active development and its semantics may change in the future.\n",
66
+ demandOption: false
67
+ },
68
+ "project.settings.audit_log_level": {
69
+ type: "string",
70
+ description: "Audit logging level, set only on HIPAA-enabled organizations (absent otherwise). Values: `base`, `extended`, `full`; HIPAA defaults to `extended`. Cannot be lowered back to `base` once `extended` or `full`.",
71
+ demandOption: false,
72
+ choices: [
73
+ "base",
74
+ "extended",
75
+ "full"
76
+ ]
77
+ },
78
+ "project.settings.hipaa": {
79
+ type: "boolean",
80
+ description: "Enables HIPAA compliance mode for the project, including audit logging.",
81
+ demandOption: false
82
+ },
83
+ "project.settings.preload_libraries.use_defaults": {
84
+ type: "boolean",
85
+ description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
86
+ demandOption: false
87
+ },
88
+ "project.settings.preload_libraries.enabled_libraries": {
89
+ type: "array",
90
+ description: "Names of shared preload libraries to enable for the project.",
91
+ demandOption: false
92
+ },
93
+ "project.name": {
94
+ type: "string",
95
+ description: "The project name. If not specified, the name will be identical to the generated project ID",
96
+ demandOption: false
97
+ },
98
+ "project.branch.name": {
99
+ type: "string",
100
+ description: "The default branch name. If not specified, the default branch name, `main`, will be used.\n",
101
+ demandOption: false
102
+ },
103
+ "project.branch.role_name": {
104
+ type: "string",
105
+ description: "The role name. If not specified, the default role name, `{database_name}_owner`, will be used.\n",
106
+ demandOption: false
107
+ },
108
+ "project.branch.database_name": {
109
+ type: "string",
110
+ description: "The database name. If not specified, the default database name, `neondb`, will be used.\n",
111
+ demandOption: false
112
+ },
113
+ "project.provisioner": {
114
+ type: "string",
115
+ description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
116
+ demandOption: false
117
+ },
118
+ "project.region_id": {
119
+ type: "string",
120
+ description: "The region identifier. Refer to our [Regions](https://neon.com/docs/introduction/regions) documentation for supported regions. Values are specified in this format: `aws-us-east-1`\n",
121
+ demandOption: false
122
+ },
123
+ "project.default_endpoint_settings.suspend_timeout_seconds": {
124
+ type: "number",
125
+ description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
126
+ demandOption: false
127
+ },
128
+ "project.pg_version": {
129
+ type: "number",
130
+ description: "The major Postgres version number. Supported versions are `14`, `15`, `16`, `17`, and `18`. `19` is rolling out and is accepted only in regions where it is enabled; requesting it elsewhere returns an error.",
131
+ demandOption: false
132
+ },
133
+ "project.store_passwords": {
134
+ type: "boolean",
135
+ description: "Whether or not passwords are stored for roles in the Neon project. Storing passwords facilitates access to Neon features that require authorization.\n",
136
+ demandOption: false
137
+ },
138
+ "project.history_retention_seconds": {
139
+ type: "number",
140
+ description: "History window (point-in-time restore range) for all branches, in seconds. `0` disables it. Default 1 day (Free: 6 hours). Maximum depends on plan: Free 6 hours (21600), Launch 7 days (604800), Scale 30 days (2592000).\n",
141
+ demandOption: false
142
+ },
143
+ "project.org_id": {
144
+ type: "string",
145
+ description: "ID of the organization that will own the project. If omitted when using an organization API key, it is inferred from the key.\n",
146
+ demandOption: false
147
+ }
144
148
  };
145
- export const projectUpdateRequest = {
146
- 'project.settings.quota.active_time_seconds': {
147
- type: "number",
148
- description: "The total amount of wall-clock time allowed to be spent by the project's compute endpoints.\n",
149
- demandOption: false,
150
- },
151
- 'project.settings.quota.compute_time_seconds': {
152
- type: "number",
153
- description: "The total amount of CPU seconds allowed to be spent by the project's compute endpoints.\n",
154
- demandOption: false,
155
- },
156
- 'project.settings.quota.written_data_bytes': {
157
- type: "number",
158
- description: "Total amount of data written to all of a project's branches.\n",
159
- demandOption: false,
160
- },
161
- 'project.settings.quota.data_transfer_bytes': {
162
- type: "number",
163
- description: "Total amount of data transferred from all of a project's branches using the proxy.\n",
164
- demandOption: false,
165
- },
166
- 'project.settings.quota.logical_size_bytes': {
167
- type: "number",
168
- description: "Limit on the logical size of every project's branch.\n\nIf a branch exceeds its `logical_size_bytes` quota, computes can still be started,\nbut write operations will fail—allowing data to be deleted to free up space.\nComputes on other branches are not affected.\n\nSetting `logical_size_bytes` overrides any lower value set by the `neon.max_cluster_size` Postgres setting.\n",
169
- demandOption: false,
170
- },
171
- 'project.settings.allowed_ips.ips': {
172
- type: "array",
173
- description: "A list of IP addresses that are allowed to connect to the endpoint.",
174
- demandOption: false,
175
- },
176
- 'project.settings.allowed_ips.protected_branches_only': {
177
- type: "boolean",
178
- description: "If true, the list will be applied only to protected branches.",
179
- demandOption: false,
180
- },
181
- 'project.settings.enable_logical_replication': {
182
- type: "boolean",
183
- description: "Sets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended.\nOnce enabled, logical replication cannot be disabled.\n",
184
- demandOption: false,
185
- },
186
- 'project.settings.maintenance_window.weekdays': {
187
- type: "array",
188
- description: "A list of weekdays when the maintenance window is active.\nEncoded as ints, where 1 - Monday, and 7 - Sunday.\n",
189
- demandOption: true,
190
- },
191
- 'project.settings.maintenance_window.start_time': {
192
- type: "string",
193
- description: "Start time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
194
- demandOption: true,
195
- },
196
- 'project.settings.maintenance_window.end_time': {
197
- type: "string",
198
- description: "End time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
199
- demandOption: true,
200
- },
201
- 'project.settings.block_public_connections': {
202
- type: "boolean",
203
- description: "When set, connections from the public internet\nare disallowed. This supersedes the AllowedIPs list.\nThis parameter is under active development and its semantics may change in the future.\n",
204
- demandOption: false,
205
- },
206
- 'project.settings.block_vpc_connections': {
207
- type: "boolean",
208
- description: "When set, connections using VPC endpoints are disallowed.\nThis parameter is under active development and its semantics may change in the future.\n",
209
- demandOption: false,
210
- },
211
- 'project.settings.audit_log_level': {
212
- type: "string",
213
- description: undefined,
214
- demandOption: false,
215
- choices: ["base", "extended", "full"],
216
- },
217
- 'project.settings.hipaa': {
218
- type: "boolean",
219
- description: undefined,
220
- demandOption: false,
221
- },
222
- 'project.settings.preload_libraries.use_defaults': {
223
- type: "boolean",
224
- description: undefined,
225
- demandOption: false,
226
- },
227
- 'project.settings.preload_libraries.enabled_libraries': {
228
- type: "array",
229
- description: undefined,
230
- demandOption: false,
231
- },
232
- 'project.name': {
233
- type: "string",
234
- description: "The project name",
235
- demandOption: false,
236
- },
237
- 'project.default_endpoint_settings.suspend_timeout_seconds': {
238
- type: "number",
239
- description: "Duration of inactivity in seconds after which the compute endpoint is\nautomatically suspended. The value `0` means use the default value.\nThe value `-1` means never suspend. The default value is `300` seconds (5 minutes).\nThe minimum value is `60` seconds (1 minute).\nThe maximum value is `604800` seconds (1 week). For more information, see\n[Scale to zero configuration](https://neon.com/docs/manage/endpoints#scale-to-zero-configuration).\n",
240
- demandOption: false,
241
- },
242
- 'project.history_retention_seconds': {
243
- type: "number",
244
- description: "The number of seconds to retain the shared history for all branches in this project.\nThe default is 1 day (604800 seconds).\n",
245
- demandOption: false,
246
- },
149
+ const projectUpdateRequest = {
150
+ "project.settings.quota.active_time_seconds": {
151
+ type: "number",
152
+ description: "The total amount of wall-clock time allowed to be spent by the project's compute endpoints.\n",
153
+ demandOption: false
154
+ },
155
+ "project.settings.quota.compute_time_seconds": {
156
+ type: "number",
157
+ description: "The total amount of CPU seconds allowed to be spent by the project's compute endpoints.\n",
158
+ demandOption: false
159
+ },
160
+ "project.settings.quota.written_data_bytes": {
161
+ type: "number",
162
+ description: "Total amount of data written to all of a project's branches.\n",
163
+ demandOption: false
164
+ },
165
+ "project.settings.quota.data_transfer_bytes": {
166
+ type: "number",
167
+ description: "Total amount of data transferred from all of a project's branches using the proxy.\n",
168
+ demandOption: false
169
+ },
170
+ "project.settings.quota.logical_size_bytes": {
171
+ type: "number",
172
+ description: "Limit on the logical size of every project's branch.\n\nIf a branch exceeds its `logical_size_bytes` quota, computes can still be started,\nbut write operations will fail—allowing data to be deleted to free up space.\nComputes on other branches are not affected.\n\nSetting `logical_size_bytes` overrides any lower value set by the `neon.max_cluster_size` Postgres setting.\n",
173
+ demandOption: false
174
+ },
175
+ "project.settings.allowed_ips.ips": {
176
+ type: "array",
177
+ description: "A list of IP addresses that are allowed to connect to the endpoint.",
178
+ demandOption: false
179
+ },
180
+ "project.settings.allowed_ips.protected_branches_only": {
181
+ type: "boolean",
182
+ description: "If true, the list will be applied only to protected branches.",
183
+ demandOption: false
184
+ },
185
+ "project.settings.enable_logical_replication": {
186
+ type: "boolean",
187
+ description: "Sets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended.\nOnce enabled, logical replication cannot be disabled.\n",
188
+ demandOption: false
189
+ },
190
+ "project.settings.maintenance_window.weekdays": {
191
+ type: "array",
192
+ description: "A list of weekdays when the maintenance window is active.\nEncoded as ints, where 1 - Monday, and 7 - Sunday.\n",
193
+ demandOption: true
194
+ },
195
+ "project.settings.maintenance_window.start_time": {
196
+ type: "string",
197
+ description: "Start time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
198
+ demandOption: true
199
+ },
200
+ "project.settings.maintenance_window.end_time": {
201
+ type: "string",
202
+ description: "End time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n",
203
+ demandOption: true
204
+ },
205
+ "project.settings.block_public_connections": {
206
+ type: "boolean",
207
+ description: "When set, connections from the public internet\nare disallowed. This supersedes the AllowedIPs list.\nThis parameter is under active development and its semantics may change in the future.\n",
208
+ demandOption: false
209
+ },
210
+ "project.settings.block_vpc_connections": {
211
+ type: "boolean",
212
+ description: "When set, connections using VPC endpoints are disallowed.\nThis parameter is under active development and its semantics may change in the future.\n",
213
+ demandOption: false
214
+ },
215
+ "project.settings.audit_log_level": {
216
+ type: "string",
217
+ description: "Audit logging level, set only on HIPAA-enabled organizations (absent otherwise). Values: `base`, `extended`, `full`; HIPAA defaults to `extended`. Cannot be lowered back to `base` once `extended` or `full`.",
218
+ demandOption: false,
219
+ choices: [
220
+ "base",
221
+ "extended",
222
+ "full"
223
+ ]
224
+ },
225
+ "project.settings.hipaa": {
226
+ type: "boolean",
227
+ description: "Enables HIPAA compliance mode for the project, including audit logging.",
228
+ demandOption: false
229
+ },
230
+ "project.settings.preload_libraries.use_defaults": {
231
+ type: "boolean",
232
+ description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
233
+ demandOption: false
234
+ },
235
+ "project.settings.preload_libraries.enabled_libraries": {
236
+ type: "array",
237
+ description: "Names of shared preload libraries to enable for the project.",
238
+ demandOption: false
239
+ },
240
+ "project.name": {
241
+ type: "string",
242
+ description: "The project name",
243
+ demandOption: false
244
+ },
245
+ "project.default_endpoint_settings.suspend_timeout_seconds": {
246
+ type: "number",
247
+ description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
248
+ demandOption: false
249
+ },
250
+ "project.history_retention_seconds": {
251
+ type: "number",
252
+ description: "History window (point-in-time restore range) for all branches, in seconds. `0` disables it. Default 1 day (Free: 6 hours). Maximum depends on plan: Free 6 hours (21600), Launch 7 days (604800), Scale 30 days (2592000).\n",
253
+ demandOption: false
254
+ }
247
255
  };
248
- export const branchCreateRequest = {
249
- 'endpoints': {
250
- type: "array",
251
- description: undefined,
252
- demandOption: false,
253
- },
254
- 'branch.parent_id': {
255
- type: "string",
256
- description: "The `branch_id` of the parent branch. If omitted or empty, the branch will be created from the project's default branch.\n",
257
- demandOption: false,
258
- },
259
- 'branch.name': {
260
- type: "string",
261
- description: "The branch name\n",
262
- demandOption: false,
263
- },
264
- 'branch.parent_lsn': {
265
- type: "string",
266
- description: "A Log Sequence Number (LSN) on the parent branch. The branch will be created with data from this LSN.\n",
267
- demandOption: false,
268
- },
269
- 'branch.parent_timestamp': {
270
- type: "string",
271
- description: "A timestamp identifying a point in time on the parent branch. The branch will be created with data starting from this point in time.\nThe timestamp must be provided in ISO 8601 format; for example: `2024-02-26T12:00:00Z`.\n",
272
- demandOption: false,
273
- },
274
- 'branch.protected': {
275
- type: "boolean",
276
- description: "Whether the branch is protected\n",
277
- demandOption: false,
278
- },
279
- 'branch.archived': {
280
- type: "boolean",
281
- description: "Whether to create the branch as archived\n",
282
- demandOption: false,
283
- },
284
- 'branch.init_source': {
285
- type: "string",
286
- description: "The source of initialization for the branch. Valid values are `schema-only` and `parent-data` (default).\n * `schema-only` - creates a new root branch containing only the schema. Use `parent_id` to specify the source branch. Optionally, you can provide `parent_lsn` or `parent_timestamp` to branch from a specific point in time or LSN. These fields define which branch to copy the schema from and at what point—they do not establish a parent-child relationship between the `parent_id` branch and the new schema-only branch.\n * `parent-data` - creates the branch with both schema and data from the parent.\n",
287
- demandOption: false,
288
- },
289
- 'branch.expires_at': {
290
- type: "string",
291
- description: "The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n",
292
- demandOption: false,
293
- },
256
+ const branchCreateRequest = {
257
+ "endpoints": {
258
+ type: "array",
259
+ description: "Compute endpoints to create together with the branch. If omitted, the branch is created without any compute endpoint. Endpoints can be added to the branch separately after creation.",
260
+ demandOption: false
261
+ },
262
+ "branch.parent_id": {
263
+ type: "string",
264
+ description: "The `branch_id` of the parent branch. If omitted or empty, the branch will be created from the project's default branch.\n",
265
+ demandOption: false
266
+ },
267
+ "branch.name": {
268
+ type: "string",
269
+ description: "The branch name\n",
270
+ demandOption: false
271
+ },
272
+ "branch.parent_lsn": {
273
+ type: "string",
274
+ description: "A Log Sequence Number (LSN) on the parent branch. The branch will be created with data from this LSN.\n",
275
+ demandOption: false
276
+ },
277
+ "branch.parent_timestamp": {
278
+ type: "string",
279
+ description: "A timestamp identifying a point in time on the parent branch. The branch will be created with data starting from this point in time. RFC 3339 format.\n",
280
+ demandOption: false
281
+ },
282
+ "branch.protected": {
283
+ type: "boolean",
284
+ description: "Whether the branch is protected. Protected branches (and their computes) cannot be deleted, archived, or reset, and block deletion of the project. Can be gated by `protected_branches_only` in the IP allowlist. Paid plans only.\n",
285
+ demandOption: false
286
+ },
287
+ "branch.archived": {
288
+ type: "boolean",
289
+ description: "Whether to create the branch in the archived state. When omitted, the branch is created as a normal (non-archived) branch.\n",
290
+ demandOption: false
291
+ },
292
+ "branch.init_source": {
293
+ type: "string",
294
+ description: "Source of initialization for the branch. `parent-data` copies schema and data from the parent branch. `parent-schema` copies schema only from the parent branch. `schema-only` creates a new root branch containing schema only, using `parent_id` as the source; optionally, `parent_lsn` or `parent_timestamp` can narrow the source point. `import` initializes the branch from an external import.",
295
+ demandOption: false
296
+ },
297
+ "branch.expires_at": {
298
+ type: "string",
299
+ description: "The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n",
300
+ demandOption: false
301
+ }
294
302
  };
295
- export const branchCreateRequestEndpointOptions = {
296
- 'type': {
297
- type: "string",
298
- description: "The compute endpoint type. Either `read_write` or `read_only`.\n",
299
- demandOption: true,
300
- choices: ["read_only", "read_write"],
301
- },
302
- 'settings.preload_libraries.use_defaults': {
303
- type: "boolean",
304
- description: undefined,
305
- demandOption: false,
306
- },
307
- 'settings.preload_libraries.enabled_libraries': {
308
- type: "array",
309
- description: undefined,
310
- demandOption: false,
311
- },
312
- 'provisioner': {
313
- type: "string",
314
- description: "The Neon compute provisioner.\nSpecify the `k8s-neonvm` provisioner to create a compute endpoint that supports Autoscaling.\n\nProvisioner can be one of the following values:\n* k8s-pod\n* k8s-neonvm\n* serverless-platform\n\nClients must expect, that any string value that is not documented in the description above should be treated as a error. UNKNOWN value if safe to treat as an error too.\n",
315
- demandOption: false,
316
- },
317
- 'suspend_timeout_seconds': {
318
- type: "number",
319
- description: "Duration of inactivity in seconds after which the compute endpoint is\nautomatically suspended. The value `0` means use the default value.\nThe value `-1` means never suspend. The default value is `300` seconds (5 minutes).\nThe minimum value is `60` seconds (1 minute).\nThe maximum value is `604800` seconds (1 week). For more information, see\n[Scale to zero configuration](https://neon.com/docs/manage/endpoints#scale-to-zero-configuration).\n",
320
- demandOption: false,
321
- },
303
+ const branchCreateRequestEndpointOptions = {
304
+ "type": {
305
+ type: "string",
306
+ description: "Compute endpoint type. `read_write`: the primary read-write endpoint (one per branch). `read_only`: a read replica endpoint (multiple allowed per branch).",
307
+ demandOption: true,
308
+ choices: ["read_only", "read_write"]
309
+ },
310
+ "settings.preload_libraries.use_defaults": {
311
+ type: "boolean",
312
+ description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
313
+ demandOption: false
314
+ },
315
+ "settings.preload_libraries.enabled_libraries": {
316
+ type: "array",
317
+ description: "Names of shared preload libraries to enable for the project.",
318
+ demandOption: false
319
+ },
320
+ "provisioner": {
321
+ type: "string",
322
+ description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
323
+ demandOption: false
324
+ },
325
+ "suspend_timeout_seconds": {
326
+ type: "number",
327
+ description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
328
+ demandOption: false
329
+ }
322
330
  };
323
- export const branchUpdateRequest = {
324
- 'branch.name': {
325
- type: "string",
326
- description: undefined,
327
- demandOption: false,
328
- },
329
- 'branch.protected': {
330
- type: "boolean",
331
- description: undefined,
332
- demandOption: false,
333
- },
334
- 'branch.expires_at': {
335
- type: "string",
336
- description: "The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time. If this field is set to null, the expiration timestamp is removed.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n",
337
- demandOption: false,
338
- },
331
+ const branchUpdateRequest = {
332
+ "branch.name": {
333
+ type: "string",
334
+ description: "New display name for the branch.",
335
+ demandOption: false
336
+ },
337
+ "branch.protected": {
338
+ type: "boolean",
339
+ description: "Whether the branch is protected. Protected branches (and their computes) cannot be deleted, archived, or reset, and block deletion of the project. Can be gated by `protected_branches_only` in the IP allowlist. Paid plans only.\n",
340
+ demandOption: false
341
+ },
342
+ "branch.expires_at": {
343
+ type: "string",
344
+ description: "The timestamp when the branch is scheduled to expire and be automatically deleted. Must be set by the client following the [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6) format with precision up to seconds (such as 2025-06-09T18:02:16Z). Deletion is performed by a background job and may not occur exactly at the specified time. If this field is set to null, the expiration timestamp is removed.\n\nAccess to this feature is currently limited to participants in the Early Access Program.\n",
345
+ demandOption: false
346
+ }
339
347
  };
340
- export const endpointCreateRequest = {
341
- 'endpoint.branch_id': {
342
- type: "string",
343
- description: "The ID of the branch the compute endpoint will be associated with\n",
344
- demandOption: true,
345
- },
346
- 'endpoint.region_id': {
347
- type: "string",
348
- description: "The region where the compute endpoint will be created. Only the project's `region_id` is permitted.\n",
349
- demandOption: false,
350
- },
351
- 'endpoint.type': {
352
- type: "string",
353
- description: "The compute endpoint type. Either `read_write` or `read_only`.\n",
354
- demandOption: true,
355
- choices: ["read_only", "read_write"],
356
- },
357
- 'endpoint.settings.preload_libraries.use_defaults': {
358
- type: "boolean",
359
- description: undefined,
360
- demandOption: false,
361
- },
362
- 'endpoint.settings.preload_libraries.enabled_libraries': {
363
- type: "array",
364
- description: undefined,
365
- demandOption: false,
366
- },
367
- 'endpoint.provisioner': {
368
- type: "string",
369
- description: "The Neon compute provisioner.\nSpecify the `k8s-neonvm` provisioner to create a compute endpoint that supports Autoscaling.\n\nProvisioner can be one of the following values:\n* k8s-pod\n* k8s-neonvm\n* serverless-platform\n\nClients must expect, that any string value that is not documented in the description above should be treated as a error. UNKNOWN value if safe to treat as an error too.\n",
370
- demandOption: false,
371
- },
372
- 'endpoint.pooler_enabled': {
373
- type: "boolean",
374
- description: "DEPRECATED. Whether to enable connection pooling for the compute endpoint.\nThe recommended way to enable connection pooling is to append `-pooler` to the endpoint ID in the connection string.\nSee [How to use connection pooling](https://neon.com/docs/connect/connection-pooling#how-to-use-connection-pooling)\n",
375
- demandOption: false,
376
- },
377
- 'endpoint.pooler_mode': {
378
- type: "string",
379
- description: "DEPRECATED. The connection pooler mode. This field is deprecated and will be removed after 2026-06-20.\n",
380
- demandOption: false,
381
- choices: ["transaction"],
382
- },
383
- 'endpoint.disabled': {
384
- type: "boolean",
385
- description: "Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action. However, the compute endpoint is periodically\nenabled by check_availability operations.\n",
386
- demandOption: false,
387
- },
388
- 'endpoint.passwordless_access': {
389
- type: "boolean",
390
- description: "NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\n",
391
- demandOption: false,
392
- },
393
- 'endpoint.suspend_timeout_seconds': {
394
- type: "number",
395
- description: "Duration of inactivity in seconds after which the compute endpoint is\nautomatically suspended. The value `0` means use the default value.\nThe value `-1` means never suspend. The default value is `300` seconds (5 minutes).\nThe minimum value is `60` seconds (1 minute).\nThe maximum value is `604800` seconds (1 week). For more information, see\n[Scale to zero configuration](https://neon.com/docs/manage/endpoints#scale-to-zero-configuration).\n",
396
- demandOption: false,
397
- },
398
- 'endpoint.name': {
399
- type: "string",
400
- description: "Optional name of the compute endpoint\n",
401
- demandOption: false,
402
- },
348
+ const endpointCreateRequest = {
349
+ "endpoint.branch_id": {
350
+ type: "string",
351
+ description: "The ID of the branch the compute endpoint will be associated with\n",
352
+ demandOption: true
353
+ },
354
+ "endpoint.region_id": {
355
+ type: "string",
356
+ description: "The region where the compute endpoint will be created. Only the project's `region_id` is permitted.\n",
357
+ demandOption: false
358
+ },
359
+ "endpoint.type": {
360
+ type: "string",
361
+ description: "Compute endpoint type. `read_write`: the primary read-write endpoint (one per branch). `read_only`: a read replica endpoint (multiple allowed per branch).",
362
+ demandOption: true,
363
+ choices: ["read_only", "read_write"]
364
+ },
365
+ "endpoint.settings.preload_libraries.use_defaults": {
366
+ type: "boolean",
367
+ description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
368
+ demandOption: false
369
+ },
370
+ "endpoint.settings.preload_libraries.enabled_libraries": {
371
+ type: "array",
372
+ description: "Names of shared preload libraries to enable for the project.",
373
+ demandOption: false
374
+ },
375
+ "endpoint.provisioner": {
376
+ type: "string",
377
+ description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
378
+ demandOption: false
379
+ },
380
+ "endpoint.pooler_enabled": {
381
+ type: "boolean",
382
+ description: "Deprecated. To enable connection pooling, append `-pooler` to the endpoint ID in the connection string.\nSee [How to use connection pooling](https://neon.com/docs/connect/connection-pooling#how-to-use-connection-pooling)\n",
383
+ demandOption: false
384
+ },
385
+ "endpoint.pooler_mode": {
386
+ type: "string",
387
+ description: "Deprecated. The connection pooler mode. Removal scheduled for June 20, 2026.\n",
388
+ demandOption: false,
389
+ choices: ["transaction"]
390
+ },
391
+ "endpoint.disabled": {
392
+ type: "boolean",
393
+ description: "Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action. However, the compute endpoint is periodically\nenabled by check_availability operations.\n",
394
+ demandOption: false
395
+ },
396
+ "endpoint.passwordless_access": {
397
+ type: "boolean",
398
+ description: "NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\n",
399
+ demandOption: false
400
+ },
401
+ "endpoint.suspend_timeout_seconds": {
402
+ type: "number",
403
+ description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
404
+ demandOption: false
405
+ },
406
+ "endpoint.name": {
407
+ type: "string",
408
+ description: "Optional name of the compute endpoint\n",
409
+ demandOption: false
410
+ }
403
411
  };
404
- export const endpointUpdateRequest = {
405
- 'endpoint.branch_id': {
406
- type: "string",
407
- description: "DEPRECATED: This field will be removed in a future release.\nThe destination branch ID. The destination branch must not have an existing read-write endpoint.\n",
408
- demandOption: false,
409
- },
410
- 'endpoint.provisioner': {
411
- type: "string",
412
- description: "The Neon compute provisioner.\nSpecify the `k8s-neonvm` provisioner to create a compute endpoint that supports Autoscaling.\n\nProvisioner can be one of the following values:\n* k8s-pod\n* k8s-neonvm\n* serverless-platform\n\nClients must expect, that any string value that is not documented in the description above should be treated as a error. UNKNOWN value if safe to treat as an error too.\n",
413
- demandOption: false,
414
- },
415
- 'endpoint.settings.preload_libraries.use_defaults': {
416
- type: "boolean",
417
- description: undefined,
418
- demandOption: false,
419
- },
420
- 'endpoint.settings.preload_libraries.enabled_libraries': {
421
- type: "array",
422
- description: undefined,
423
- demandOption: false,
424
- },
425
- 'endpoint.pooler_enabled': {
426
- type: "boolean",
427
- description: "DEPRECATED. Whether to enable connection pooling for the compute endpoint.\nThe recommended way to enable connection pooling is to append `-pooler` to the endpoint ID in the connection string.\nSee [How to use connection pooling](https://neon.com/docs/connect/connection-pooling#how-to-use-connection-pooling)\n",
428
- demandOption: false,
429
- },
430
- 'endpoint.pooler_mode': {
431
- type: "string",
432
- description: "DEPRECATED. The connection pooler mode. This field is deprecated and will be removed after 2026-06-20.\n",
433
- demandOption: false,
434
- choices: ["transaction"],
435
- },
436
- 'endpoint.disabled': {
437
- type: "boolean",
438
- description: "Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action. However, the compute endpoint is periodically\nenabled by check_availability operations.\n",
439
- demandOption: false,
440
- },
441
- 'endpoint.passwordless_access': {
442
- type: "boolean",
443
- description: "NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\n",
444
- demandOption: false,
445
- },
446
- 'endpoint.suspend_timeout_seconds': {
447
- type: "number",
448
- description: "Duration of inactivity in seconds after which the compute endpoint is\nautomatically suspended. The value `0` means use the default value.\nThe value `-1` means never suspend. The default value is `300` seconds (5 minutes).\nThe minimum value is `60` seconds (1 minute).\nThe maximum value is `604800` seconds (1 week). For more information, see\n[Scale to zero configuration](https://neon.com/docs/manage/endpoints#scale-to-zero-configuration).\n",
449
- demandOption: false,
450
- },
451
- 'endpoint.name': {
452
- type: "string",
453
- description: "Optional name of the compute endpoint\n",
454
- demandOption: false,
455
- },
412
+ const endpointUpdateRequest = {
413
+ "endpoint.branch_id": {
414
+ type: "string",
415
+ description: "Deprecated. The destination branch ID; must not have an existing read-write endpoint.\n",
416
+ demandOption: false
417
+ },
418
+ "endpoint.provisioner": {
419
+ type: "string",
420
+ description: "Compute provisioner. `k8s-neonvm` (default) supports Autoscaling; `k8s-pod` is fixed-size compute. Also `docker` and `serverless-platform`.",
421
+ demandOption: false
422
+ },
423
+ "endpoint.settings.preload_libraries.use_defaults": {
424
+ type: "boolean",
425
+ description: "When true, the project's preload libraries include the platform default set in addition to any libraries listed in `enabled_libraries`.",
426
+ demandOption: false
427
+ },
428
+ "endpoint.settings.preload_libraries.enabled_libraries": {
429
+ type: "array",
430
+ description: "Names of shared preload libraries to enable for the project.",
431
+ demandOption: false
432
+ },
433
+ "endpoint.pooler_enabled": {
434
+ type: "boolean",
435
+ description: "Deprecated. To enable connection pooling, append `-pooler` to the endpoint ID in the connection string.\nSee [How to use connection pooling](https://neon.com/docs/connect/connection-pooling#how-to-use-connection-pooling)\n",
436
+ demandOption: false
437
+ },
438
+ "endpoint.pooler_mode": {
439
+ type: "string",
440
+ description: "Deprecated. The connection pooler mode. Removal scheduled for June 20, 2026.\n",
441
+ demandOption: false,
442
+ choices: ["transaction"]
443
+ },
444
+ "endpoint.disabled": {
445
+ type: "boolean",
446
+ description: "Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action. However, the compute endpoint is periodically\nenabled by check_availability operations.\n",
447
+ demandOption: false
448
+ },
449
+ "endpoint.passwordless_access": {
450
+ type: "boolean",
451
+ description: "NOT YET IMPLEMENTED. Whether to permit passwordless access to the compute endpoint.\n",
452
+ demandOption: false
453
+ },
454
+ "endpoint.suspend_timeout_seconds": {
455
+ type: "number",
456
+ description: "Scale-to-zero idle timeout, in seconds, before the compute suspends. `0` uses the plan default; `-1` disables scale-to-zero (never suspends). Minimum is plan-dependent (Scale: 60); maximum 604800 (one week). Free cannot change it; Launch can only enable or disable; Scale can set any value.",
457
+ demandOption: false
458
+ },
459
+ "endpoint.name": {
460
+ type: "string",
461
+ description: "Optional name of the compute endpoint\n",
462
+ demandOption: false
463
+ }
456
464
  };
457
- export const databaseCreateRequest = {
458
- 'database.name': {
459
- type: "string",
460
- description: "The name of the database\n",
461
- demandOption: true,
462
- },
463
- 'database.owner_name': {
464
- type: "string",
465
- description: "The name of the role that owns the database\n",
466
- demandOption: true,
467
- },
465
+ const databaseCreateRequest = {
466
+ "database.name": {
467
+ type: "string",
468
+ description: "Name of the database to create.\n",
469
+ demandOption: true
470
+ },
471
+ "database.owner_name": {
472
+ type: "string",
473
+ description: "The name of the role that owns the database\n",
474
+ demandOption: true
475
+ }
468
476
  };
469
- export const roleCreateRequest = {
470
- 'role.name': {
471
- type: "string",
472
- description: "The role name. Cannot exceed 63 bytes in length.\n",
473
- demandOption: true,
474
- },
475
- 'role.no_login': {
476
- type: "boolean",
477
- description: "Whether to create a role that cannot login.\n",
478
- demandOption: false,
479
- },
477
+ const roleCreateRequest = {
478
+ "role.name": {
479
+ type: "string",
480
+ description: "The role name. Cannot exceed 63 bytes in length.\n",
481
+ demandOption: true
482
+ },
483
+ "role.no_login": {
484
+ type: "boolean",
485
+ description: "Whether to create a role that cannot login.\n",
486
+ demandOption: false
487
+ }
480
488
  };
489
+ //#endregion
490
+ export { branchCreateRequest, branchCreateRequestEndpointOptions, branchUpdateRequest, databaseCreateRequest, endpointCreateRequest, endpointUpdateRequest, projectCreateRequest, projectUpdateRequest, roleCreateRequest };