neonctl 2.27.1 → 2.29.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 (136) hide show
  1. package/README.md +35 -3
  2. package/dist/analytics.js +52 -34
  3. package/dist/api.js +643 -13
  4. package/dist/auth.js +50 -44
  5. package/dist/cli.js +8 -1
  6. package/dist/commands/auth.js +64 -51
  7. package/dist/commands/bootstrap.js +115 -157
  8. package/dist/commands/branches.js +160 -150
  9. package/dist/commands/bucket.js +183 -146
  10. package/dist/commands/checkout.js +51 -51
  11. package/dist/commands/config.js +228 -82
  12. package/dist/commands/connection_string.js +62 -62
  13. package/dist/commands/data_api.js +100 -101
  14. package/dist/commands/databases.js +29 -26
  15. package/dist/commands/deploy.js +12 -12
  16. package/dist/commands/dev.js +114 -114
  17. package/dist/commands/env.js +43 -43
  18. package/dist/commands/functions.js +101 -104
  19. package/dist/commands/index.js +27 -25
  20. package/dist/commands/init.js +23 -22
  21. package/dist/commands/ip_allow.js +29 -29
  22. package/dist/commands/link.js +232 -182
  23. package/dist/commands/neon_auth.js +385 -370
  24. package/dist/commands/operations.js +11 -11
  25. package/dist/commands/orgs.js +8 -8
  26. package/dist/commands/projects.js +103 -101
  27. package/dist/commands/psql.js +31 -31
  28. package/dist/commands/roles.js +27 -24
  29. package/dist/commands/schema_diff.js +25 -26
  30. package/dist/commands/set_context.js +17 -17
  31. package/dist/commands/status.js +40 -0
  32. package/dist/commands/user.js +5 -5
  33. package/dist/commands/vpc_endpoints.js +50 -50
  34. package/dist/config.js +7 -7
  35. package/dist/config_format.js +5 -5
  36. package/dist/context.js +37 -14
  37. package/dist/current_branch_fast_path.js +55 -0
  38. package/dist/dev/env.js +33 -33
  39. package/dist/dev/functions.js +4 -4
  40. package/dist/dev/inputs.js +6 -6
  41. package/dist/dev/runtime.js +25 -25
  42. package/dist/env.js +14 -14
  43. package/dist/env_file.js +13 -13
  44. package/dist/errors.js +68 -5
  45. package/dist/functions_api.js +10 -10
  46. package/dist/help.js +15 -15
  47. package/dist/index.js +110 -107
  48. package/dist/log.js +2 -2
  49. package/dist/parameters.gen.js +14 -14
  50. package/dist/pkg.js +5 -5
  51. package/dist/psql/cli.js +4 -2
  52. package/dist/psql/command/cmd_cond.js +61 -61
  53. package/dist/psql/command/cmd_connect.js +159 -154
  54. package/dist/psql/command/cmd_copy.js +107 -97
  55. package/dist/psql/command/cmd_describe.js +368 -363
  56. package/dist/psql/command/cmd_format.js +276 -263
  57. package/dist/psql/command/cmd_io.js +269 -263
  58. package/dist/psql/command/cmd_lo.js +74 -66
  59. package/dist/psql/command/cmd_meta.js +148 -148
  60. package/dist/psql/command/cmd_misc.js +17 -17
  61. package/dist/psql/command/cmd_pipeline.js +142 -135
  62. package/dist/psql/command/cmd_restrict.js +25 -25
  63. package/dist/psql/command/cmd_show.js +183 -168
  64. package/dist/psql/command/dispatch.js +26 -26
  65. package/dist/psql/command/shared.js +14 -14
  66. package/dist/psql/complete/filenames.js +16 -16
  67. package/dist/psql/complete/index.js +4 -4
  68. package/dist/psql/complete/matcher.js +33 -32
  69. package/dist/psql/complete/psqlVars.js +173 -173
  70. package/dist/psql/complete/queries.js +5 -3
  71. package/dist/psql/complete/rules.js +900 -863
  72. package/dist/psql/core/common.js +136 -133
  73. package/dist/psql/core/help.js +343 -343
  74. package/dist/psql/core/mainloop.js +160 -153
  75. package/dist/psql/core/prompt.js +126 -123
  76. package/dist/psql/core/settings.js +111 -111
  77. package/dist/psql/core/sqlHelp.js +150 -150
  78. package/dist/psql/core/startup.js +211 -205
  79. package/dist/psql/core/syncVars.js +14 -14
  80. package/dist/psql/core/variables.js +24 -24
  81. package/dist/psql/describe/formatters.js +302 -289
  82. package/dist/psql/describe/processNamePattern.js +28 -28
  83. package/dist/psql/describe/queries.js +656 -651
  84. package/dist/psql/index.js +436 -411
  85. package/dist/psql/io/history.js +36 -36
  86. package/dist/psql/io/input.js +15 -15
  87. package/dist/psql/io/lineEditor/buffer.js +27 -25
  88. package/dist/psql/io/lineEditor/complete.js +15 -15
  89. package/dist/psql/io/lineEditor/filename.js +22 -22
  90. package/dist/psql/io/lineEditor/index.js +65 -62
  91. package/dist/psql/io/lineEditor/keymap.js +325 -318
  92. package/dist/psql/io/lineEditor/vt100.js +60 -60
  93. package/dist/psql/io/pgpass.js +18 -18
  94. package/dist/psql/io/pgservice.js +14 -14
  95. package/dist/psql/io/psqlrc.js +46 -46
  96. package/dist/psql/print/aligned.js +175 -166
  97. package/dist/psql/print/asciidoc.js +51 -51
  98. package/dist/psql/print/crosstab.js +34 -31
  99. package/dist/psql/print/csv.js +25 -22
  100. package/dist/psql/print/html.js +54 -54
  101. package/dist/psql/print/json.js +12 -12
  102. package/dist/psql/print/latex.js +118 -118
  103. package/dist/psql/print/pager.js +28 -26
  104. package/dist/psql/print/troff.js +48 -48
  105. package/dist/psql/print/unaligned.js +15 -14
  106. package/dist/psql/print/units.js +17 -17
  107. package/dist/psql/scanner/slash.js +48 -46
  108. package/dist/psql/scanner/sql.js +88 -84
  109. package/dist/psql/scanner/stringutils.js +21 -17
  110. package/dist/psql/types/index.js +7 -7
  111. package/dist/psql/types/scanner.js +8 -8
  112. package/dist/psql/wire/connection.js +341 -327
  113. package/dist/psql/wire/copy.js +7 -7
  114. package/dist/psql/wire/pipeline.js +26 -24
  115. package/dist/psql/wire/protocol.js +102 -102
  116. package/dist/psql/wire/sasl.js +62 -62
  117. package/dist/psql/wire/tls.js +79 -73
  118. package/dist/storage_api.js +22 -23
  119. package/dist/test_utils/fixtures.js +74 -41
  120. package/dist/test_utils/oauth_server.js +5 -5
  121. package/dist/utils/api_enums.js +33 -0
  122. package/dist/utils/branch_notice.js +5 -5
  123. package/dist/utils/branch_picker.js +26 -26
  124. package/dist/utils/compute_units.js +4 -4
  125. package/dist/utils/enrichers.js +28 -16
  126. package/dist/utils/esbuild.js +28 -28
  127. package/dist/utils/formats.js +1 -1
  128. package/dist/utils/middlewares.js +3 -3
  129. package/dist/utils/package_manager.js +68 -0
  130. package/dist/utils/point_in_time.js +12 -12
  131. package/dist/utils/psql.js +30 -30
  132. package/dist/utils/string.js +2 -2
  133. package/dist/utils/ui.js +9 -9
  134. package/dist/utils/zip.js +1 -1
  135. package/dist/writer.js +17 -17
  136. package/package.json +10 -12
@@ -8,181 +8,181 @@
8
8
  */
9
9
  /** All psql special variables (anything that has a hook in variables.c). */
10
10
  export const SPECIAL_VARIABLES = [
11
- 'AUTOCOMMIT',
12
- 'COMP_KEYWORD_CASE',
13
- 'DBNAME',
14
- 'ECHO',
15
- 'ECHO_HIDDEN',
16
- 'ENCODING',
17
- 'ERROR',
18
- 'FETCH_COUNT',
19
- 'HIDE_TABLEAM',
20
- 'HIDE_TOAST_COMPRESSION',
21
- 'HISTCONTROL',
22
- 'HISTFILE',
23
- 'HISTSIZE',
24
- 'HOST',
25
- 'IGNOREEOF',
26
- 'LASTOID',
27
- 'LAST_ERROR_MESSAGE',
28
- 'LAST_ERROR_SQLSTATE',
29
- 'ON_ERROR_ROLLBACK',
30
- 'ON_ERROR_STOP',
31
- 'PORT',
32
- 'PROMPT1',
33
- 'PROMPT2',
34
- 'PROMPT3',
35
- 'QUIET',
36
- 'ROW_COUNT',
37
- 'SERVER_VERSION_NAME',
38
- 'SERVER_VERSION_NUM',
39
- 'SHELL_ERROR',
40
- 'SHELL_EXIT_CODE',
41
- 'SHOW_ALL_RESULTS',
42
- 'SHOW_CONTEXT',
43
- 'SINGLELINE',
44
- 'SINGLESTEP',
45
- 'SQLSTATE',
46
- 'USER',
47
- 'VERBOSITY',
48
- 'VERSION',
49
- 'VERSION_NAME',
50
- 'VERSION_NUM',
11
+ "AUTOCOMMIT",
12
+ "COMP_KEYWORD_CASE",
13
+ "DBNAME",
14
+ "ECHO",
15
+ "ECHO_HIDDEN",
16
+ "ENCODING",
17
+ "ERROR",
18
+ "FETCH_COUNT",
19
+ "HIDE_TABLEAM",
20
+ "HIDE_TOAST_COMPRESSION",
21
+ "HISTCONTROL",
22
+ "HISTFILE",
23
+ "HISTSIZE",
24
+ "HOST",
25
+ "IGNOREEOF",
26
+ "LASTOID",
27
+ "LAST_ERROR_MESSAGE",
28
+ "LAST_ERROR_SQLSTATE",
29
+ "ON_ERROR_ROLLBACK",
30
+ "ON_ERROR_STOP",
31
+ "PORT",
32
+ "PROMPT1",
33
+ "PROMPT2",
34
+ "PROMPT3",
35
+ "QUIET",
36
+ "ROW_COUNT",
37
+ "SERVER_VERSION_NAME",
38
+ "SERVER_VERSION_NUM",
39
+ "SHELL_ERROR",
40
+ "SHELL_EXIT_CODE",
41
+ "SHOW_ALL_RESULTS",
42
+ "SHOW_CONTEXT",
43
+ "SINGLELINE",
44
+ "SINGLESTEP",
45
+ "SQLSTATE",
46
+ "USER",
47
+ "VERBOSITY",
48
+ "VERSION",
49
+ "VERSION_NAME",
50
+ "VERSION_NUM",
51
51
  ];
52
52
  /** `\pset` option names. */
53
53
  export const PSET_OPTIONS = [
54
- 'border',
55
- 'columns',
56
- 'csv_fieldsep',
57
- 'expanded',
58
- 'fieldsep',
59
- 'fieldsep_zero',
60
- 'footer',
61
- 'format',
62
- 'linestyle',
63
- 'null',
64
- 'numericlocale',
65
- 'pager',
66
- 'pager_min_lines',
67
- 'recordsep',
68
- 'recordsep_zero',
69
- 'tableattr',
70
- 'title',
71
- 'tuples_only',
72
- 'unicode_border_linestyle',
73
- 'unicode_column_linestyle',
74
- 'unicode_header_linestyle',
75
- 'xheader_width',
54
+ "border",
55
+ "columns",
56
+ "csv_fieldsep",
57
+ "expanded",
58
+ "fieldsep",
59
+ "fieldsep_zero",
60
+ "footer",
61
+ "format",
62
+ "linestyle",
63
+ "null",
64
+ "numericlocale",
65
+ "pager",
66
+ "pager_min_lines",
67
+ "recordsep",
68
+ "recordsep_zero",
69
+ "tableattr",
70
+ "title",
71
+ "tuples_only",
72
+ "unicode_border_linestyle",
73
+ "unicode_column_linestyle",
74
+ "unicode_header_linestyle",
75
+ "xheader_width",
76
76
  ];
77
77
  /** Output formats accepted by `\pset format`. */
78
78
  export const PSET_FORMATS = [
79
- 'aligned',
80
- 'asciidoc',
81
- 'csv',
82
- 'html',
83
- 'latex',
84
- 'latex-longtable',
85
- 'troff-ms',
86
- 'unaligned',
87
- 'wrapped',
79
+ "aligned",
80
+ "asciidoc",
81
+ "csv",
82
+ "html",
83
+ "latex",
84
+ "latex-longtable",
85
+ "troff-ms",
86
+ "unaligned",
87
+ "wrapped",
88
88
  ];
89
89
  /** Line styles accepted by `\pset linestyle`. */
90
90
  export const PSET_LINESTYLES = [
91
- 'ascii',
92
- 'old-ascii',
93
- 'unicode',
91
+ "ascii",
92
+ "old-ascii",
93
+ "unicode",
94
94
  ];
95
95
  /** Unicode border/column/header line styles. */
96
- export const PSET_UNICODE_STYLES = ['single', 'double'];
96
+ export const PSET_UNICODE_STYLES = ["single", "double"];
97
97
  /** `xheader_width` argument forms. */
98
98
  export const PSET_XHEADER_WIDTHS = [
99
- 'column',
100
- 'full',
101
- 'page',
99
+ "column",
100
+ "full",
101
+ "page",
102
102
  ];
103
103
  /** On/off/auto enum, used by many variables. */
104
- export const ON_OFF = ['on', 'off'];
105
- export const ON_OFF_AUTO = ['on', 'off', 'auto'];
104
+ export const ON_OFF = ["on", "off"];
105
+ export const ON_OFF_AUTO = ["on", "off", "auto"];
106
106
  /** Echo modes. */
107
107
  export const ECHO_MODES = [
108
- 'none',
109
- 'errors',
110
- 'queries',
111
- 'all',
108
+ "none",
109
+ "errors",
110
+ "queries",
111
+ "all",
112
112
  ];
113
- export const ECHO_HIDDEN_MODES = ['off', 'on', 'noexec'];
113
+ export const ECHO_HIDDEN_MODES = ["off", "on", "noexec"];
114
114
  export const ON_ERROR_ROLLBACK_MODES = [
115
- 'off',
116
- 'on',
117
- 'interactive',
115
+ "off",
116
+ "on",
117
+ "interactive",
118
118
  ];
119
119
  export const VERBOSITY_MODES = [
120
- 'default',
121
- 'verbose',
122
- 'terse',
123
- 'sqlstate',
120
+ "default",
121
+ "verbose",
122
+ "terse",
123
+ "sqlstate",
124
124
  ];
125
125
  export const SHOW_CONTEXT_MODES = [
126
- 'never',
127
- 'errors',
128
- 'always',
126
+ "never",
127
+ "errors",
128
+ "always",
129
129
  ];
130
130
  export const COMP_KEYWORD_CASE_MODES = [
131
- 'lower',
132
- 'upper',
133
- 'preserve-lower',
134
- 'preserve-upper',
131
+ "lower",
132
+ "upper",
133
+ "preserve-lower",
134
+ "preserve-upper",
135
135
  ];
136
136
  export const HIST_CONTROL_MODES = [
137
- 'none',
138
- 'ignorespace',
139
- 'ignoredups',
140
- 'ignoreboth',
137
+ "none",
138
+ "ignorespace",
139
+ "ignoredups",
140
+ "ignoreboth",
141
141
  ];
142
142
  /** A handful of common client encodings — enough to be useful at `\encoding`. */
143
143
  export const ENCODINGS = [
144
- 'BIG5',
145
- 'EUC_CN',
146
- 'EUC_JIS_2004',
147
- 'EUC_JP',
148
- 'EUC_KR',
149
- 'EUC_TW',
150
- 'GB18030',
151
- 'GBK',
152
- 'ISO_8859_5',
153
- 'ISO_8859_6',
154
- 'ISO_8859_7',
155
- 'ISO_8859_8',
156
- 'JOHAB',
157
- 'KOI8R',
158
- 'KOI8U',
159
- 'LATIN1',
160
- 'LATIN2',
161
- 'LATIN3',
162
- 'LATIN4',
163
- 'LATIN5',
164
- 'LATIN6',
165
- 'LATIN7',
166
- 'LATIN8',
167
- 'LATIN9',
168
- 'LATIN10',
169
- 'MULE_INTERNAL',
170
- 'SJIS',
171
- 'SHIFT_JIS_2004',
172
- 'SQL_ASCII',
173
- 'UHC',
174
- 'UTF8',
175
- 'WIN866',
176
- 'WIN874',
177
- 'WIN1250',
178
- 'WIN1251',
179
- 'WIN1252',
180
- 'WIN1253',
181
- 'WIN1254',
182
- 'WIN1255',
183
- 'WIN1256',
184
- 'WIN1257',
185
- 'WIN1258',
144
+ "BIG5",
145
+ "EUC_CN",
146
+ "EUC_JIS_2004",
147
+ "EUC_JP",
148
+ "EUC_KR",
149
+ "EUC_TW",
150
+ "GB18030",
151
+ "GBK",
152
+ "ISO_8859_5",
153
+ "ISO_8859_6",
154
+ "ISO_8859_7",
155
+ "ISO_8859_8",
156
+ "JOHAB",
157
+ "KOI8R",
158
+ "KOI8U",
159
+ "LATIN1",
160
+ "LATIN2",
161
+ "LATIN3",
162
+ "LATIN4",
163
+ "LATIN5",
164
+ "LATIN6",
165
+ "LATIN7",
166
+ "LATIN8",
167
+ "LATIN9",
168
+ "LATIN10",
169
+ "MULE_INTERNAL",
170
+ "SJIS",
171
+ "SHIFT_JIS_2004",
172
+ "SQL_ASCII",
173
+ "UHC",
174
+ "UTF8",
175
+ "WIN866",
176
+ "WIN874",
177
+ "WIN1250",
178
+ "WIN1251",
179
+ "WIN1252",
180
+ "WIN1253",
181
+ "WIN1254",
182
+ "WIN1255",
183
+ "WIN1256",
184
+ "WIN1257",
185
+ "WIN1258",
186
186
  ];
187
187
  /**
188
188
  * For a given `\pset` option, return the list of values it accepts. Returns
@@ -190,24 +190,24 @@ export const ENCODINGS = [
190
190
  */
191
191
  export const psetValuesFor = (option) => {
192
192
  switch (option) {
193
- case 'format':
193
+ case "format":
194
194
  return PSET_FORMATS;
195
- case 'linestyle':
195
+ case "linestyle":
196
196
  return PSET_LINESTYLES;
197
- case 'unicode_border_linestyle':
198
- case 'unicode_column_linestyle':
199
- case 'unicode_header_linestyle':
197
+ case "unicode_border_linestyle":
198
+ case "unicode_column_linestyle":
199
+ case "unicode_header_linestyle":
200
200
  return PSET_UNICODE_STYLES;
201
- case 'xheader_width':
201
+ case "xheader_width":
202
202
  return PSET_XHEADER_WIDTHS;
203
- case 'expanded':
204
- case 'pager':
203
+ case "expanded":
204
+ case "pager":
205
205
  return ON_OFF_AUTO;
206
- case 'footer':
207
- case 'tuples_only':
208
- case 'numericlocale':
209
- case 'fieldsep_zero':
210
- case 'recordsep_zero':
206
+ case "footer":
207
+ case "tuples_only":
208
+ case "numericlocale":
209
+ case "fieldsep_zero":
210
+ case "recordsep_zero":
211
211
  return ON_OFF;
212
212
  default:
213
213
  return null;
@@ -218,28 +218,28 @@ export const psetValuesFor = (option) => {
218
218
  */
219
219
  export const variableValuesFor = (name) => {
220
220
  switch (name) {
221
- case 'AUTOCOMMIT':
222
- case 'ON_ERROR_STOP':
223
- case 'QUIET':
224
- case 'SINGLELINE':
225
- case 'SINGLESTEP':
226
- case 'SHOW_ALL_RESULTS':
227
- case 'HIDE_TOAST_COMPRESSION':
228
- case 'HIDE_TABLEAM':
221
+ case "AUTOCOMMIT":
222
+ case "ON_ERROR_STOP":
223
+ case "QUIET":
224
+ case "SINGLELINE":
225
+ case "SINGLESTEP":
226
+ case "SHOW_ALL_RESULTS":
227
+ case "HIDE_TOAST_COMPRESSION":
228
+ case "HIDE_TABLEAM":
229
229
  return ON_OFF;
230
- case 'ECHO':
230
+ case "ECHO":
231
231
  return ECHO_MODES;
232
- case 'ECHO_HIDDEN':
232
+ case "ECHO_HIDDEN":
233
233
  return ECHO_HIDDEN_MODES;
234
- case 'ON_ERROR_ROLLBACK':
234
+ case "ON_ERROR_ROLLBACK":
235
235
  return ON_ERROR_ROLLBACK_MODES;
236
- case 'VERBOSITY':
236
+ case "VERBOSITY":
237
237
  return VERBOSITY_MODES;
238
- case 'SHOW_CONTEXT':
238
+ case "SHOW_CONTEXT":
239
239
  return SHOW_CONTEXT_MODES;
240
- case 'COMP_KEYWORD_CASE':
240
+ case "COMP_KEYWORD_CASE":
241
241
  return COMP_KEYWORD_CASE_MODES;
242
- case 'HISTCONTROL':
242
+ case "HISTCONTROL":
243
243
  return HIST_CONTROL_MODES;
244
244
  default:
245
245
  return null;
@@ -474,13 +474,15 @@ export const Query_for_list_of_timezone_names_quoted_in = `
474
474
  */
475
475
  export const runCatalogQuery = async (conn, sql, pattern, extraParams = []) => {
476
476
  try {
477
- const likePattern = pattern + '%';
478
- const params = extraParams.length > 0 ? [...extraParams, likePattern] : [likePattern];
477
+ const likePattern = pattern + "%";
478
+ const params = extraParams.length > 0
479
+ ? [...extraParams, likePattern]
480
+ : [likePattern];
479
481
  const rs = await conn.query(sql, params);
480
482
  const out = [];
481
483
  for (const row of rs.rows) {
482
484
  const v = row[0];
483
- if (typeof v === 'string')
485
+ if (typeof v === "string")
484
486
  out.push(v);
485
487
  }
486
488
  return out;