neon 8.13.2 → 8.14.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 (360) hide show
  1. package/dist/_chunks/{api-GbEaBZJ5.js → api-1MKsfpY3.js} +2 -3
  2. package/dist/_chunks/{api_keys-CNnnugbQ.js → api_keys-6Xnxl7a8.js} +2 -3
  3. package/dist/_chunks/{ask-DVwy0eUL.js → ask-Xlek1Pxh.js} +2 -3
  4. package/dist/_chunks/{auth-CIUtXByB.js → auth-DPSDYYtG.js} +6 -7
  5. package/dist/_chunks/{auth_selection-YX5_KZgD.js → auth_selection-CwGLN9Qz.js} +2 -3
  6. package/dist/_chunks/{bootstrap-wPZWa1sT.js → bootstrap-BDkvsAVJ.js} +2 -3
  7. package/dist/_chunks/{branches-BNa1xX1L.js → branches-Bp-5z1lM.js} +2 -3
  8. package/dist/_chunks/{bucket-BCdryTkD.js → bucket-D06bvDSa.js} +2 -3
  9. package/dist/_chunks/{checkout-CXIOydqZ.js → checkout-C6VMMgY6.js} +5 -6
  10. package/dist/_chunks/{claim-DqAvAvDm.js → claim-DlLZmcq0.js} +4 -5
  11. package/dist/_chunks/{cmd_pipeline-CEk93dGN.js → cmd_pipeline-BDE-TGto.js} +3 -6
  12. package/dist/_chunks/{config-BH_qRHiG.js → config-7SIE_C5O.js} +3 -4
  13. package/dist/_chunks/{connection_string-DB4awPzZ.js → connection_string-C9e7N4xk.js} +3 -4
  14. package/dist/_chunks/{credential_io-BS-0Pmwc.js → credential_io-DbeSh3Pl.js} +6 -9
  15. package/dist/_chunks/{credentials-BSjE9fRR.js → credentials-BMBNmW0t.js} +2 -3
  16. package/dist/_chunks/{data_api-Djxj5ZQD.js → data_api-CHDwvMTG.js} +2 -3
  17. package/dist/_chunks/{databases-Dok4wru7.js → databases-DC2h6IW2.js} +2 -3
  18. package/dist/_chunks/{deploy-D7B0Xfjg.js → deploy-DmKZcAnR.js} +3 -4
  19. package/dist/_chunks/{dev-CSvxAecE.js → dev-Dv0HKcFF.js} +7 -8
  20. package/dist/_chunks/{diff-DhxxbdQE.js → diff-dnxneH0u.js} +2 -3
  21. package/dist/_chunks/{docs-CrVybkTP.js → docs-CClmgj_Z.js} +2 -3
  22. package/dist/_chunks/{env-5HS5qQGd.js → env-BOt9AZ1j.js} +4 -5
  23. package/dist/_chunks/{env-BNm69Qh8.js → env-CIFMBEon.js} +3 -5
  24. package/dist/_chunks/{env-BpP3Dqpe.js → env-JgoSsmyt.js} +2 -3
  25. package/dist/_chunks/{feedback-CMayyTa8.js → feedback-mQmdTRFn.js} +2 -3
  26. package/dist/_chunks/{functions-Q0zuvtnk.js → functions-3ypiRwZK.js} +2 -3
  27. package/dist/_chunks/{git-H32TNt6M.js → git-Dxw9w9dK.js} +4 -5
  28. package/dist/_chunks/{init-BkA6RilG.js → init-BOOGv-mD.js} +2 -3
  29. package/dist/_chunks/{inspect-g0wekylj.js → inspect-yFAb61qo.js} +2 -3
  30. package/dist/_chunks/{ip_allow-5lLFvIuE.js → ip_allow-DBdxNEUa.js} +2 -3
  31. package/dist/_chunks/{link-BgtkOBws.js → link-CcwTXRny.js} +6 -7
  32. package/dist/_chunks/{logs-DWkpjzIH.js → logs-BB4uvblR.js} +2 -3
  33. package/dist/_chunks/{mcp-Bo-7TKc7.js → mcp-BznTRK3w.js} +2 -3
  34. package/dist/_chunks/{neon_auth-DpF83S24.js → neon_auth-Dw-ucM5Y.js} +102 -28
  35. package/dist/_chunks/{open-CX3BT3Tp.js → open-T2nI89Oh.js} +2 -3
  36. package/dist/_chunks/{operations-D4I-AxVs.js → operations-CzaR_uqx.js} +2 -3
  37. package/dist/_chunks/{orgs-xGfANwHQ.js → orgs-Dpbr-K0A.js} +2 -3
  38. package/dist/_chunks/{paths-DMq0Lt7a.js → paths-B55ZfOg1.js} +1 -2
  39. package/dist/_chunks/{plugins-Dj0H6lDA.js → plugins-CKOcBuuP.js} +2 -3
  40. package/dist/_chunks/{profile-yXOiKk9R.js → profile-H0d7gFrX.js} +9 -10
  41. package/dist/_chunks/{profiles-DIB1av2Q.js → profiles-DTazQtjK.js} +4 -6
  42. package/dist/_chunks/{projects-BwI2Uo0z.js → projects-a3X4OFEJ.js} +2 -3
  43. package/dist/_chunks/{psql-BM-doe8e.js → psql-Bce4X0NG.js} +3 -4
  44. package/dist/_chunks/{psql-BNljLda2.js → psql-DwGeP0IV.js} +2 -4
  45. package/dist/_chunks/{realtime-BRqIyGR-.js → realtime-BwtzYf5a.js} +2 -3
  46. package/dist/_chunks/{roles-C3M4q9DS.js → roles-Bd9r8_pX.js} +1 -2
  47. package/dist/_chunks/{roles-B4w3YT_7.js → roles-xRuu0462.js} +2 -3
  48. package/dist/_chunks/{rolldown-runtime-8H4AJuhK.js → rolldown-runtime-BJohB4LM.js} +1 -2
  49. package/dist/_chunks/{secure_file-BucZj4yQ.js → secure_file-Caskdohg.js} +1 -2
  50. package/dist/_chunks/{set_context-DbrwoImy.js → set_context-ompB6d2D.js} +2 -3
  51. package/dist/_chunks/{skills-BP6pIm7O.js → skills-DKgafm65.js} +2 -3
  52. package/dist/_chunks/{snapshots-RJBzW8GM.js → snapshots-DxNhjcco.js} +3 -4
  53. package/dist/_chunks/{status-DV8Z2kw3.js → status-DS_yUXFo.js} +3 -4
  54. package/dist/_chunks/{triggers-BrRo1z4b.js → triggers-BfvyeJUC.js} +2 -3
  55. package/dist/_chunks/{user-dlOGXbX9.js → user-D9mC430O.js} +2 -3
  56. package/dist/_chunks/{vpc_endpoints-CNb0YfMo.js → vpc_endpoints-C-Y4WK2M.js} +3 -4
  57. package/dist/_shared/auth_selection.js +1 -2
  58. package/dist/_shared/credentials.js +1 -2
  59. package/dist/_shared/paths.js +1 -2
  60. package/dist/_shared/profiles.js +1 -2
  61. package/dist/_shared/secure_file.js +1 -2
  62. package/dist/analytics.js +3 -4
  63. package/dist/anonymous_id.js +2 -3
  64. package/dist/api.js +1 -2
  65. package/dist/auth.js +1 -2
  66. package/dist/auth_context.js +1 -2
  67. package/dist/auth_recovery.js +3 -4
  68. package/dist/claimable/api.js +1 -2
  69. package/dist/claimable/state.js +2 -3
  70. package/dist/cli.js +1 -2
  71. package/dist/commands/api.js +1 -1
  72. package/dist/commands/api_keys.js +1 -1
  73. package/dist/commands/ask.js +1 -1
  74. package/dist/commands/ask_sse.js +1 -2
  75. package/dist/commands/auth.js +1 -1
  76. package/dist/commands/bootstrap.js +1 -1
  77. package/dist/commands/branches.js +1 -1
  78. package/dist/commands/bucket.js +1 -1
  79. package/dist/commands/checkout.js +1 -1
  80. package/dist/commands/claim.js +1 -1
  81. package/dist/commands/config.js +1 -1
  82. package/dist/commands/connection_string.js +1 -1
  83. package/dist/commands/credentials.js +1 -1
  84. package/dist/commands/data_api.js +1 -1
  85. package/dist/commands/databases.js +1 -1
  86. package/dist/commands/deploy.js +1 -1
  87. package/dist/commands/deploy_help.js +1 -2
  88. package/dist/commands/dev.js +1 -1
  89. package/dist/commands/diff.js +1 -1
  90. package/dist/commands/docs.js +1 -1
  91. package/dist/commands/env.js +1 -1
  92. package/dist/commands/env_output.js +2 -3
  93. package/dist/commands/feedback.js +1 -1
  94. package/dist/commands/functions.js +1 -1
  95. package/dist/commands/functions_new.js +2 -3
  96. package/dist/commands/git.js +1 -1
  97. package/dist/commands/index.js +46 -47
  98. package/dist/commands/init.js +1 -1
  99. package/dist/commands/inspect.js +1 -1
  100. package/dist/commands/ip_allow.js +1 -1
  101. package/dist/commands/link.js +1 -1
  102. package/dist/commands/link_output.js +1 -2
  103. package/dist/commands/logs.js +1 -1
  104. package/dist/commands/manifest.js +1 -2
  105. package/dist/commands/mcp.js +1 -1
  106. package/dist/commands/neon_auth.js +1 -1
  107. package/dist/commands/open.js +1 -1
  108. package/dist/commands/operations.js +1 -1
  109. package/dist/commands/orgs.js +1 -1
  110. package/dist/commands/plugins.js +1 -1
  111. package/dist/commands/profile.js +1 -1
  112. package/dist/commands/projects.js +1 -1
  113. package/dist/commands/psql.js +1 -1
  114. package/dist/commands/realtime.js +1 -1
  115. package/dist/commands/roles.js +1 -1
  116. package/dist/commands/schema_diff.js +1 -2
  117. package/dist/commands/set_context.js +1 -1
  118. package/dist/commands/skills.js +1 -1
  119. package/dist/commands/snapshots.js +1 -1
  120. package/dist/commands/status.js +1 -1
  121. package/dist/commands/subscribe.js +2 -3
  122. package/dist/commands/thinking_spinner.js +1 -2
  123. package/dist/commands/triggers.js +1 -1
  124. package/dist/commands/user.js +1 -1
  125. package/dist/commands/vpc_endpoints.js +1 -1
  126. package/dist/config.js +2 -3
  127. package/dist/config_edit.js +1 -2
  128. package/dist/config_format.js +1 -2
  129. package/dist/config_services.js +1 -2
  130. package/dist/config_source.js +1 -2
  131. package/dist/config_template.js +1 -2
  132. package/dist/context.js +1 -2
  133. package/dist/credential_io.js +1 -1
  134. package/dist/current_branch_fast_path.js +1 -2
  135. package/dist/custom_domains_api.js +1 -2
  136. package/dist/dev/env.js +1 -1
  137. package/dist/dev/functions.js +1 -2
  138. package/dist/dev/inputs.js +1 -2
  139. package/dist/dev/runtime.js +1 -2
  140. package/dist/dev/websocket.js +1 -2
  141. package/dist/env.js +1 -2
  142. package/dist/env_file.js +1 -2
  143. package/dist/env_services.js +2 -3
  144. package/dist/error_reporting.js +80 -160
  145. package/dist/errors.js +1 -2
  146. package/dist/functions/registry.js +1 -2
  147. package/dist/functions/scaffold.js +1 -2
  148. package/dist/functions/source.js +1 -2
  149. package/dist/functions_api.js +1 -2
  150. package/dist/help.js +1 -2
  151. package/dist/human_table.js +1 -2
  152. package/dist/index.js +3 -4
  153. package/dist/init/agents.js +1 -2
  154. package/dist/init/auth.js +5 -6
  155. package/dist/init/bootstrap.js +1 -2
  156. package/dist/init/build_config.js +1 -2
  157. package/dist/init/cancelled.js +1 -2
  158. package/dist/init/choices.js +2 -3
  159. package/dist/init/chrome.js +1 -2
  160. package/dist/init/copy.js +1 -2
  161. package/dist/init/detect.js +4 -5
  162. package/dist/init/detect_host.js +1 -2
  163. package/dist/init/funnel.js +1 -2
  164. package/dist/init/link.js +4 -5
  165. package/dist/init/mode.js +1 -2
  166. package/dist/init/plan.js +1 -2
  167. package/dist/init/run.js +5 -6
  168. package/dist/init/template_title.js +1 -2
  169. package/dist/init/tooling.js +4 -5
  170. package/dist/init/wizard.js +1 -2
  171. package/dist/keyring.js +1 -2
  172. package/dist/log.js +1 -2
  173. package/dist/mcp/agents.js +1 -2
  174. package/dist/mcp/install.js +1 -2
  175. package/dist/mcp/mint.js +2 -3
  176. package/dist/mcp/plan.js +1 -2
  177. package/dist/mcp/targets.js +1 -2
  178. package/dist/mcp/wizard.js +1 -2
  179. package/dist/neon_services.js +1 -2
  180. package/dist/node_version.js +1 -2
  181. package/dist/notices.js +1 -2
  182. package/dist/parameters.gen.js +1 -2
  183. package/dist/pkg.js +1 -2
  184. package/dist/plugins/plan.js +1 -2
  185. package/dist/plugins/run.js +1 -2
  186. package/dist/plugins/targets.js +1 -2
  187. package/dist/profile_keys.js +1 -2
  188. package/dist/project.js +1 -2
  189. package/dist/psql/cli.js +2 -3
  190. package/dist/psql/command/cmd_cond.js +1 -2
  191. package/dist/psql/command/cmd_connect.js +1 -2
  192. package/dist/psql/command/cmd_copy.js +2 -3
  193. package/dist/psql/command/cmd_describe.js +1 -2
  194. package/dist/psql/command/cmd_format.js +1 -2
  195. package/dist/psql/command/cmd_io.js +1 -1
  196. package/dist/psql/command/cmd_lo.js +1 -2
  197. package/dist/psql/command/cmd_meta.js +1 -2
  198. package/dist/psql/command/cmd_misc.js +1 -2
  199. package/dist/psql/command/cmd_pipeline.js +1 -1
  200. package/dist/psql/command/cmd_restrict.js +1 -2
  201. package/dist/psql/command/cmd_show.js +1 -2
  202. package/dist/psql/command/dispatch.js +2 -3
  203. package/dist/psql/command/inputQueue.js +1 -2
  204. package/dist/psql/command/shared.js +1 -2
  205. package/dist/psql/complete/filenames.js +1 -2
  206. package/dist/psql/complete/index.js +1 -2
  207. package/dist/psql/complete/matcher.js +1 -2
  208. package/dist/psql/complete/psqlVars.js +1 -2
  209. package/dist/psql/complete/queries.js +1 -2
  210. package/dist/psql/complete/rules.js +1 -2
  211. package/dist/psql/core/common.js +1 -1
  212. package/dist/psql/core/help.js +1 -2
  213. package/dist/psql/core/mainloop.js +2 -3
  214. package/dist/psql/core/prompt.js +1 -2
  215. package/dist/psql/core/settings.js +1 -2
  216. package/dist/psql/core/sqlHelp.js +1 -2
  217. package/dist/psql/core/startup.js +1 -1
  218. package/dist/psql/core/syncVars.js +1 -2
  219. package/dist/psql/core/variables.js +1 -2
  220. package/dist/psql/describe/formatters.js +1 -2
  221. package/dist/psql/describe/processNamePattern.js +1 -2
  222. package/dist/psql/describe/queries.js +1 -2
  223. package/dist/psql/describe/versionGate.js +1 -2
  224. package/dist/psql/index.js +1 -1
  225. package/dist/psql/io/history.js +1 -2
  226. package/dist/psql/io/input.js +1 -2
  227. package/dist/psql/io/lineEditor/buffer.js +1 -2
  228. package/dist/psql/io/lineEditor/complete.js +1 -2
  229. package/dist/psql/io/lineEditor/filename.js +1 -2
  230. package/dist/psql/io/lineEditor/index.js +1 -2
  231. package/dist/psql/io/lineEditor/keymap.js +1 -2
  232. package/dist/psql/io/lineEditor/vt100.js +1 -2
  233. package/dist/psql/io/pgpass.js +1 -2
  234. package/dist/psql/io/pgservice.js +1 -2
  235. package/dist/psql/io/psqlrc.js +2 -3
  236. package/dist/psql/print/aligned.js +1 -2
  237. package/dist/psql/print/asciidoc.js +1 -2
  238. package/dist/psql/print/crosstab.js +1 -2
  239. package/dist/psql/print/csv.js +1 -2
  240. package/dist/psql/print/html.js +1 -2
  241. package/dist/psql/print/json.js +1 -2
  242. package/dist/psql/print/latex.js +1 -2
  243. package/dist/psql/print/pager.js +1 -2
  244. package/dist/psql/print/troff.js +1 -2
  245. package/dist/psql/print/unaligned.js +1 -2
  246. package/dist/psql/print/units.js +1 -2
  247. package/dist/psql/scanner/slash.js +1 -2
  248. package/dist/psql/scanner/sql.js +1 -2
  249. package/dist/psql/scanner/stringutils.js +1 -2
  250. package/dist/psql/types/scanner.js +1 -2
  251. package/dist/psql/wire/connection.js +1 -2
  252. package/dist/psql/wire/copy.js +1 -2
  253. package/dist/psql/wire/notify.js +1 -2
  254. package/dist/psql/wire/pipeline.js +1 -2
  255. package/dist/psql/wire/protocol.js +1 -2
  256. package/dist/psql/wire/sasl.js +1 -2
  257. package/dist/psql/wire/tls.js +1 -2
  258. package/dist/refresh_lock.js +1 -2
  259. package/dist/retire_credential.js +2 -3
  260. package/dist/skills/catalog.js +1 -2
  261. package/dist/skills/check_worker.js +1 -2
  262. package/dist/skills/freshness.js +1 -2
  263. package/dist/skills/plan.js +1 -2
  264. package/dist/skills/run.js +1 -2
  265. package/dist/skills/targets.js +1 -2
  266. package/dist/skills/wizard.js +1 -2
  267. package/dist/sso_recovery.js +1 -2
  268. package/dist/storage_api.js +1 -2
  269. package/dist/test_utils/fixtures.js +1 -2
  270. package/dist/test_utils/neon_api_server.js +1 -2
  271. package/dist/test_utils/npm_env.js +1 -2
  272. package/dist/test_utils/oauth_server.js +1 -2
  273. package/dist/test_utils/project_dir.js +1 -2
  274. package/dist/test_utils/registry.js +1 -2
  275. package/dist/test_utils/rotating_oauth_server.js +1 -2
  276. package/dist/update_check_worker.js +1 -2
  277. package/dist/update_notifier.js +1 -2
  278. package/dist/utils/agent_flag.js +1 -2
  279. package/dist/utils/agent_picker.js +1 -2
  280. package/dist/utils/ai_gateway_notice.js +1 -2
  281. package/dist/utils/api_enums.js +3 -3
  282. package/dist/utils/auth.js +1 -2
  283. package/dist/utils/branch_name.js +1 -2
  284. package/dist/utils/branch_notice.js +1 -2
  285. package/dist/utils/branch_picker.js +1 -2
  286. package/dist/utils/cli_name.js +1 -2
  287. package/dist/utils/compute_units.js +1 -2
  288. package/dist/utils/config_diff.js +1 -2
  289. package/dist/utils/enrichers.js +1 -2
  290. package/dist/utils/esbuild.js +1 -2
  291. package/dist/utils/flags.js +1 -2
  292. package/dist/utils/formats.js +1 -2
  293. package/dist/utils/function_slug.js +1 -2
  294. package/dist/utils/git.js +1 -2
  295. package/dist/utils/git_diff.js +1 -2
  296. package/dist/utils/help_text.js +1 -2
  297. package/dist/utils/hooks.js +2 -3
  298. package/dist/utils/inspect_db.js +3 -4
  299. package/dist/utils/inspect_queries.js +1 -2
  300. package/dist/utils/json_file.js +1 -2
  301. package/dist/utils/middlewares.js +2 -3
  302. package/dist/utils/openapi.js +1 -2
  303. package/dist/utils/package_manager.js +1 -2
  304. package/dist/utils/point_in_time.js +1 -2
  305. package/dist/utils/psql.js +1 -2
  306. package/dist/utils/repeated_flags.js +1 -2
  307. package/dist/utils/service_picker.js +1 -2
  308. package/dist/utils/staging.js +1 -2
  309. package/dist/utils/string.js +1 -2
  310. package/dist/utils/ui.js +1 -2
  311. package/dist/utils/write_sync.js +1 -2
  312. package/dist/utils/zip.js +1 -2
  313. package/dist/vendor/postgres-meta/constants.js +1 -2
  314. package/dist/vendor/postgres-meta/lib/PostgresMeta.js +1 -2
  315. package/dist/vendor/postgres-meta/lib/PostgresMetaColumnPrivileges.js +1 -2
  316. package/dist/vendor/postgres-meta/lib/PostgresMetaColumns.js +1 -2
  317. package/dist/vendor/postgres-meta/lib/PostgresMetaConfig.js +1 -2
  318. package/dist/vendor/postgres-meta/lib/PostgresMetaExtensions.js +1 -2
  319. package/dist/vendor/postgres-meta/lib/PostgresMetaForeignTables.js +1 -2
  320. package/dist/vendor/postgres-meta/lib/PostgresMetaFunctions.js +1 -2
  321. package/dist/vendor/postgres-meta/lib/PostgresMetaIndexes.js +1 -2
  322. package/dist/vendor/postgres-meta/lib/PostgresMetaMaterializedViews.js +1 -2
  323. package/dist/vendor/postgres-meta/lib/PostgresMetaPolicies.js +1 -2
  324. package/dist/vendor/postgres-meta/lib/PostgresMetaPublications.js +1 -2
  325. package/dist/vendor/postgres-meta/lib/PostgresMetaRelationships.js +1 -2
  326. package/dist/vendor/postgres-meta/lib/PostgresMetaRoles.js +1 -2
  327. package/dist/vendor/postgres-meta/lib/PostgresMetaSchemas.js +1 -2
  328. package/dist/vendor/postgres-meta/lib/PostgresMetaTablePrivileges.js +1 -2
  329. package/dist/vendor/postgres-meta/lib/PostgresMetaTables.js +1 -2
  330. package/dist/vendor/postgres-meta/lib/PostgresMetaTriggers.js +1 -2
  331. package/dist/vendor/postgres-meta/lib/PostgresMetaTypes.js +1 -2
  332. package/dist/vendor/postgres-meta/lib/PostgresMetaVersion.js +1 -2
  333. package/dist/vendor/postgres-meta/lib/PostgresMetaViews.js +1 -2
  334. package/dist/vendor/postgres-meta/lib/constants.js +1 -2
  335. package/dist/vendor/postgres-meta/lib/db.js +1 -2
  336. package/dist/vendor/postgres-meta/lib/generators.js +1 -2
  337. package/dist/vendor/postgres-meta/lib/helpers.js +1 -2
  338. package/dist/vendor/postgres-meta/lib/sql/column_privileges.sql.js +1 -2
  339. package/dist/vendor/postgres-meta/lib/sql/columns.sql.js +1 -2
  340. package/dist/vendor/postgres-meta/lib/sql/config.sql.js +1 -2
  341. package/dist/vendor/postgres-meta/lib/sql/extensions.sql.js +1 -2
  342. package/dist/vendor/postgres-meta/lib/sql/foreign_tables.sql.js +1 -2
  343. package/dist/vendor/postgres-meta/lib/sql/functions.sql.js +1 -2
  344. package/dist/vendor/postgres-meta/lib/sql/indexes.sql.js +1 -2
  345. package/dist/vendor/postgres-meta/lib/sql/materialized_views.sql.js +1 -2
  346. package/dist/vendor/postgres-meta/lib/sql/policies.sql.js +1 -2
  347. package/dist/vendor/postgres-meta/lib/sql/publications.sql.js +1 -2
  348. package/dist/vendor/postgres-meta/lib/sql/roles.sql.js +1 -2
  349. package/dist/vendor/postgres-meta/lib/sql/schemas.sql.js +1 -2
  350. package/dist/vendor/postgres-meta/lib/sql/table.sql.js +1 -2
  351. package/dist/vendor/postgres-meta/lib/sql/table_privileges.sql.js +1 -2
  352. package/dist/vendor/postgres-meta/lib/sql/table_relationships.sql.js +1 -2
  353. package/dist/vendor/postgres-meta/lib/sql/triggers.sql.js +1 -2
  354. package/dist/vendor/postgres-meta/lib/sql/types.sql.js +1 -2
  355. package/dist/vendor/postgres-meta/lib/sql/version.sql.js +1 -2
  356. package/dist/vendor/postgres-meta/lib/sql/views.sql.js +1 -2
  357. package/dist/vendor/postgres-meta/lib/sql/views_key_dependencies.sql.js +1 -2
  358. package/dist/vendor/postgres-meta/templates/typescript.js +1 -2
  359. package/dist/writer.js +1 -2
  360. package/package.json +6 -6
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { log } from "../log.js";
3
3
  import { isNeonApiError, retryOnLock } from "../api.js";
4
4
  import { getCliName } from "../utils/cli_name.js";
@@ -15,7 +15,7 @@ import { statSync } from "node:fs";
15
15
  import { dirname } from "node:path";
16
16
  import { FUNCTION_SOURCE_ENTRIES } from "@neon/config";
17
17
  import { bundleAsIs, describeNativeFinding, findUndeclaredNativePackages, resolveEsbuildEntry, zipFunctionBundle } from "@neon/config-runtime";
18
- //#region src/commands/functions.ts
18
+ // src/commands/functions.ts
19
19
  var functions_exports = /* @__PURE__ */ __exportAll({
20
20
  aliases: () => aliases,
21
21
  builder: () => builder,
@@ -460,5 +460,4 @@ const deleteDomain = async (props) => {
460
460
  }
461
461
  log.info(`Custom domain ${props.domain} deleted from branch ${branchId}`);
462
462
  };
463
- //#endregion
464
463
  export { describe as a, deploymentPollDelay as i, builder as n, functions_exports as o, command as r, handler as s, aliases as t };
@@ -1,17 +1,17 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { isCi } from "../env.js";
3
3
  import { log } from "../log.js";
4
4
  import { CONTEXT_FILE, contextBranch, gitBranchMap, gitBranchMapping, isUnfollowedGitHookSync, readContextFile, setGitBranchMap, setGitBranchMapping, setGitFollow } from "../context.js";
5
5
  import { writer } from "../writer.js";
6
6
  import { neonSafeBranchName } from "../utils/branch_name.js";
7
7
  import { currentGitBranch, gitPull, gitRepoRoot, hasUpstream, installPostCheckoutHook, isGitRepo, isManagedHook, localGitBranches, postCheckoutHookPath, readGitContext, removePostCheckoutHook } from "../utils/git.js";
8
- import { o as quoteFlagValue } from "./link-BgtkOBws.js";
9
- import { o as handler$1 } from "./checkout-CXIOydqZ.js";
8
+ import { o as quoteFlagValue } from "./link-CcwTXRny.js";
9
+ import { o as handler$1 } from "./checkout-C6VMMgY6.js";
10
10
  import { existsSync } from "node:fs";
11
11
  import { join } from "node:path";
12
12
  import chalk from "chalk";
13
13
  import prompts from "prompts";
14
- //#region src/commands/git.ts
14
+ // src/commands/git.ts
15
15
  var git_exports = /* @__PURE__ */ __exportAll({
16
16
  aliases: () => aliases,
17
17
  builder: () => builder,
@@ -352,5 +352,4 @@ const confirmPrune = async (props, toDelete) => {
352
352
  });
353
353
  return Boolean(ok);
354
354
  };
355
- //#endregion
356
355
  export { describe as a, install as c, sync as d, uninstall as f, command as i, partitionBranchesToPrune as l, builder as n, git_exports as o, cleanup as r, handler as s, aliases as t, status as u };
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { getCliName } from "../utils/cli_name.js";
3
3
  import { helpCsv, helpEpilogue } from "../utils/help_text.js";
4
4
  import { NEON_SERVICES, servicesOption } from "../neon_services.js";
@@ -6,7 +6,7 @@ import { coerceAgentFlag } from "../utils/agent_flag.js";
6
6
  import { initPluginAgents, initSkillsMcpAgents } from "../init/plan.js";
7
7
  import { listSkillIds } from "../skills/catalog.js";
8
8
  import { runInit } from "../init/run.js";
9
- //#region src/commands/init.ts
9
+ // src/commands/init.ts
10
10
  var init_exports = /* @__PURE__ */ __exportAll({
11
11
  builder: () => builder,
12
12
  command: () => command,
@@ -107,5 +107,4 @@ const builder = (yargs) => yargs.usage("$0 init [options]").option("context-file
107
107
  const handler = async (props) => {
108
108
  await runInit(props);
109
109
  };
110
- //#endregion
111
110
  export { init_exports as a, handler as i, command as n, describe as r, builder as t };
@@ -1,9 +1,9 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { writer } from "../writer.js";
3
3
  import { fillSingleProject } from "../utils/enrichers.js";
4
4
  import { formatInspectQueryError, resolveInspectTargets, runInspectQuery } from "../utils/inspect_db.js";
5
5
  import { INSPECT_QUERIES } from "../utils/inspect_queries.js";
6
- //#region src/commands/inspect.ts
6
+ // src/commands/inspect.ts
7
7
  var inspect_exports = /* @__PURE__ */ __exportAll({
8
8
  aliases: () => aliases,
9
9
  builder: () => builder,
@@ -86,5 +86,4 @@ const builder = (argv) => argv.usage("$0 inspect <sub-command> [options]").comma
86
86
  const handler = (args) => {
87
87
  return args;
88
88
  };
89
- //#endregion
90
89
  export { handler as a, describe as i, builder as n, inspect_exports as o, command as r, aliases as t };
@@ -1,10 +1,10 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { log } from "../log.js";
3
3
  import { getCliName } from "../utils/cli_name.js";
4
4
  import { projectUpdateRequest } from "../parameters.gen.js";
5
5
  import { writer } from "../writer.js";
6
6
  import { fillSingleProject } from "../utils/enrichers.js";
7
- //#region src/commands/ip_allow.ts
7
+ // src/commands/ip_allow.ts
8
8
  var ip_allow_exports = /* @__PURE__ */ __exportAll({
9
9
  builder: () => builder,
10
10
  command: () => command,
@@ -102,5 +102,4 @@ const parse = (project) => {
102
102
  protected_branches_only: project.settings?.allowed_ips?.protected_branches_only ?? false
103
103
  };
104
104
  };
105
- //#endregion
106
105
  export { ip_allow_exports as a, handler as i, command as n, describe as r, builder as t };
@@ -1,8 +1,8 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { isInteractiveTerminal } from "../env.js";
3
3
  import { log } from "../log.js";
4
4
  import { isNeonApiError, messageFromBody } from "../api.js";
5
- import { r as defaultDir } from "./paths-DMq0Lt7a.js";
5
+ import { r as defaultDir } from "./paths-B55ZfOg1.js";
6
6
  import "../config.js";
7
7
  import { applyContext, contextBranch, readContextFile, setContext, updateContextFile } from "../context.js";
8
8
  import { isClaimableEnvTarget } from "../claimable/state.js";
@@ -13,12 +13,12 @@ import { writer } from "../writer.js";
13
13
  import { createBranch, pickBranchInteractively } from "../utils/branch_picker.js";
14
14
  import { looksLikeBranchId } from "../utils/formats.js";
15
15
  import { listAllProjectBranches } from "../utils/enrichers.js";
16
- import { n as autoPullEnvAfterPin } from "./env-5HS5qQGd.js";
17
- import { h as initCmd } from "./config-BH_qRHiG.js";
16
+ import { n as autoPullEnvAfterPin } from "./env-BOt9AZ1j.js";
17
+ import { h as initCmd } from "./config-7SIE_C5O.js";
18
18
  import { formatLinkSummary } from "../commands/link_output.js";
19
- import { r as REGIONS } from "./projects-BwI2Uo0z.js";
19
+ import { r as REGIONS } from "./projects-a3X4OFEJ.js";
20
20
  import prompts from "prompts";
21
- //#region src/commands/link.ts
21
+ // src/commands/link.ts
22
22
  var link_exports = /* @__PURE__ */ __exportAll({
23
23
  builder: () => builder,
24
24
  command: () => command,
@@ -932,5 +932,4 @@ const mustString = (value, name) => {
932
932
  if (value === void 0) throw new Error(`Internal error: expected ${name} to be set.`);
933
933
  return value;
934
934
  };
935
- //#endregion
936
935
  export { link_exports as a, shouldOfferConfigInit as c, handler as i, command as n, quoteFlagValue as o, describe as r, runLink as s, builder as t };
@@ -1,10 +1,10 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { log } from "../log.js";
3
3
  import { isNeonApiError } from "../api.js";
4
4
  import { writer } from "../writer.js";
5
5
  import { noPassthrough, single } from "../utils/flags.js";
6
6
  import { branchIdFromProps, fillSingleProject } from "../utils/enrichers.js";
7
- //#region src/commands/logs.ts
7
+ // src/commands/logs.ts
8
8
  var logs_exports = /* @__PURE__ */ __exportAll({
9
9
  assertReachableLogsPage: () => assertReachableLogsPage,
10
10
  buildLogsQueryBody: () => buildLogsQueryBody,
@@ -287,5 +287,4 @@ const fieldValues = async (props) => {
287
287
  });
288
288
  if (data.is_truncated) log.info(`More values exist than were returned for "${escapeLogSingleLine(props.field)}". Narrow the window with --since or --start-time, restrict --source, or raise --limit, then run it again.`);
289
289
  };
290
- //#endregion
291
290
  export { describe as a, handler as c, command as i, logs_exports as l, buildLogsQueryBody as n, escapeLogSingleLine as o, builder as r, escapeLogTableCell as s, assertReachableLogsPage as t };
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { log } from "../log.js";
3
3
  import { readContextFile } from "../context.js";
4
4
  import { recordCommandSuccessExtras } from "../analytics.js";
@@ -12,7 +12,7 @@ import { AGENT_MCP_SKIP_MESSAGE } from "../init/copy.js";
12
12
  import { mintMcpApiKey, mintedKeyRevokeCommand, withdrawMintedKey } from "../mcp/mint.js";
13
13
  import { canPickAgentsInteractively, skippableAgentPicker } from "../utils/agent_picker.js";
14
14
  import { resolveMcpPlan } from "../mcp/plan.js";
15
- //#region src/commands/mcp.ts
15
+ // src/commands/mcp.ts
16
16
  var mcp_exports = /* @__PURE__ */ __exportAll({
17
17
  builder: () => builder,
18
18
  command: () => "mcp",
@@ -249,5 +249,4 @@ const handler = async (props) => {
249
249
  if (error) throw error;
250
250
  recordCommandSuccessExtras({ scope: outcome.scope });
251
251
  };
252
- //#endregion
253
252
  export { mcpInstallError as a, setupNeonMcp as c, handler as i, command as n, mcp_exports as o, describe as r, reportMcpInstall as s, builder as t };
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { log } from "../log.js";
3
3
  import { codeFromBody, isNeonApiError, retryOnLock } from "../api.js";
4
4
  import { stripAnsi } from "../human_table.js";
@@ -6,8 +6,9 @@ import { writer } from "../writer.js";
6
6
  import { noPassthrough, single } from "../utils/flags.js";
7
7
  import { NeonAuthEmailVerificationMethod, NeonAuthOauthProviderId, NeonAuthOauthProviderType, NeonAuthSupportedAuthProvider } from "../utils/api_enums.js";
8
8
  import { branchIdFromProps, fillSingleProject, resolveBranchFromProps } from "../utils/enrichers.js";
9
+ import { readFileSync } from "node:fs";
9
10
  import chalk from "chalk";
10
- //#region src/commands/neon_auth.ts
11
+ // src/commands/neon_auth.ts
11
12
  var neon_auth_exports = /* @__PURE__ */ __exportAll({
12
13
  builder: () => builder,
13
14
  command: () => command,
@@ -45,17 +46,53 @@ const INTEGRATION_STATUS_FIELDS = [
45
46
  "created_at",
46
47
  "jwks_url"
47
48
  ];
48
- const OAUTH_PROVIDER_FIELDS = [
49
+ const OAUTH_PROVIDER_LIST_FIELDS = [
49
50
  "id",
50
51
  "type",
51
52
  "client_id"
52
53
  ];
54
+ const OAUTH_PROVIDER_FIELDS = [
55
+ ...OAUTH_PROVIDER_LIST_FIELDS,
56
+ "microsoft_tenant_id",
57
+ "apple_team_id",
58
+ "apple_key_id"
59
+ ];
53
60
  const ALLOW_LOCALHOST_FIELDS = ["allow_localhost"];
54
61
  const SUPPORTED_OAUTH_PROVIDERS = [
55
62
  NeonAuthOauthProviderId.Google,
56
63
  NeonAuthOauthProviderId.Github,
57
- NeonAuthOauthProviderId.Vercel
64
+ NeonAuthOauthProviderId.Vercel,
65
+ NeonAuthOauthProviderId.Microsoft,
66
+ NeonAuthOauthProviderId.Apple
58
67
  ];
68
+ const OWN_CREDENTIALS_NOTE = `${[NeonAuthOauthProviderId.Microsoft, NeonAuthOauthProviderId.Apple].join(" and ")} always need your own credentials`;
69
+ const OAUTH_CREDENTIAL_OPTIONS = {
70
+ "oauth-client-id": {
71
+ describe: `OAuth client ID from your provider app. For apple, the Services ID. Omit to use Neon's shared OAuth app, where one exists; ${OWN_CREDENTIALS_NOTE}.`,
72
+ type: "string"
73
+ },
74
+ "oauth-client-secret": {
75
+ describe: `OAuth client secret from your provider app. Omit to use Neon's shared OAuth app, where one exists; ${OWN_CREDENTIALS_NOTE}.`,
76
+ type: "string"
77
+ },
78
+ "oauth-client-secret-file": {
79
+ describe: "Read the OAuth client secret from a file, for example the apple .p8 private key",
80
+ type: "string",
81
+ conflicts: "oauth-client-secret"
82
+ },
83
+ "microsoft-tenant-id": {
84
+ describe: "Tenant ID for the microsoft provider: common, organizations, consumers, a tenant GUID, or a domain",
85
+ type: "string"
86
+ },
87
+ "apple-team-id": {
88
+ describe: "Apple Developer Team ID (apple only)",
89
+ type: "string"
90
+ },
91
+ "apple-key-id": {
92
+ describe: "Key ID of the Sign in with Apple private key (apple only). Sent together with a new apple client secret, and only with one",
93
+ type: "string"
94
+ }
95
+ };
59
96
  const DOMAIN_FIELDS = ["domain"];
60
97
  const EMAIL_PASSWORD_FIELDS = [
61
98
  "enabled",
@@ -139,14 +176,7 @@ const builder = (argv) => {
139
176
  choices: SUPPORTED_OAUTH_PROVIDERS,
140
177
  demandOption: true
141
178
  },
142
- "oauth-client-id": {
143
- describe: "OAuth client ID from your provider app. Omit to use Neon's shared OAuth app.",
144
- type: "string"
145
- },
146
- "oauth-client-secret": {
147
- describe: "OAuth client secret from your provider app. Omit to use Neon's shared OAuth app.",
148
- type: "string"
149
- }
179
+ ...OAUTH_CREDENTIAL_OPTIONS
150
180
  }), async (args) => {
151
181
  await oauthProviderAdd(args);
152
182
  }).command("update", "Update an OAuth provider", (yargs) => yargs.options({
@@ -156,14 +186,7 @@ const builder = (argv) => {
156
186
  choices: SUPPORTED_OAUTH_PROVIDERS,
157
187
  demandOption: true
158
188
  },
159
- "oauth-client-id": {
160
- describe: "OAuth client ID from your provider app. Omit to use Neon's shared OAuth app.",
161
- type: "string"
162
- },
163
- "oauth-client-secret": {
164
- describe: "OAuth client secret from your provider app. Omit to use Neon's shared OAuth app.",
165
- type: "string"
166
- }
189
+ ...OAUTH_CREDENTIAL_OPTIONS
167
190
  }), async (args) => {
168
191
  await oauthProviderUpdate(args);
169
192
  }).command("delete", "Delete an OAuth provider", (yargs) => yargs.options({ "provider-id": {
@@ -605,10 +628,37 @@ const oauthProviderList = async (props) => {
605
628
  printMessage("No OAuth providers are configured for this branch.");
606
629
  return;
607
630
  }
608
- writer(props).end(data.providers, { fields: OAUTH_PROVIDER_FIELDS });
631
+ writer(props).end(data.providers, { fields: OAUTH_PROVIDER_LIST_FIELDS });
609
632
  if (data.providers.some((p) => p.type === NeonAuthOauthProviderType.Shared) && props.output === "table") writeStyled(`\n${chalk.yellow("Caution:")} ${SHARED_PROVIDER_DISCLAIMER}\n\n`);
610
633
  };
634
+ const resolveClientSecret = (props) => {
635
+ const file = props.oauthClientSecretFile;
636
+ if (file === void 0) return props.oauthClientSecret;
637
+ let contents;
638
+ try {
639
+ contents = readFileSync(file, "utf8");
640
+ } catch (err) {
641
+ throw new Error(`Could not read --oauth-client-secret-file ${file}: ${err.message}`);
642
+ }
643
+ const secret = contents.replace(/[\r\n]+$/, "");
644
+ if (!secret) throw new Error(`--oauth-client-secret-file ${file} is empty.`);
645
+ return secret;
646
+ };
647
+ const sharedProviderRejectedMessage = (providerId) => {
648
+ let flags;
649
+ switch (providerId) {
650
+ case NeonAuthOauthProviderId.Apple:
651
+ flags = "--oauth-client-id <Services ID>, --oauth-client-secret-file <.p8>, --apple-team-id and --apple-key-id";
652
+ break;
653
+ case NeonAuthOauthProviderId.Microsoft:
654
+ flags = "--oauth-client-id and --oauth-client-secret (and optionally --microsoft-tenant-id)";
655
+ break;
656
+ default: flags = "--oauth-client-id and --oauth-client-secret";
657
+ }
658
+ return `The "${providerId}" provider requires your own OAuth app credentials.\nRe-run with ${flags} to provide them.\nCreate an OAuth app at your provider and use those credentials.`;
659
+ };
611
660
  const oauthProviderAdd = async (props) => {
661
+ const clientSecret = resolveClientSecret(props);
612
662
  const branchId = await resolveBranch(props);
613
663
  const baseUrlRequest = callbackBaseUrl(props, branchId, props.providerId);
614
664
  let data;
@@ -616,38 +666,55 @@ const oauthProviderAdd = async (props) => {
616
666
  ({data} = await props.apiClient.addBranchNeonAuthOauthProvider(props.projectId, branchId, {
617
667
  id: props.providerId,
618
668
  client_id: props.oauthClientId,
619
- client_secret: props.oauthClientSecret
669
+ client_secret: clientSecret,
670
+ microsoft_tenant_id: props.microsoftTenantId,
671
+ apple_team_id: props.appleTeamId,
672
+ apple_key_id: props.appleKeyId
620
673
  }));
621
674
  } catch (err) {
622
- if (isNeonApiError(err) && codeFromBody(err.data) === "INVALID_SHARED_OAUTH_PROVIDER") throw new Error(`The "${props.providerId}" provider requires your own OAuth app credentials.\nRe-run with --oauth-client-id and --oauth-client-secret to provide them.\nCreate an OAuth app at your provider and use those credentials.`);
675
+ if (isNeonApiError(err) && codeFromBody(err.data) === "INVALID_SHARED_OAUTH_PROVIDER") throw new Error(sharedProviderRejectedMessage(props.providerId));
623
676
  throw err;
624
677
  }
625
678
  if (props.output === "json" || props.output === "yaml") writer(props).end(data, { fields: OAUTH_PROVIDER_FIELDS });
626
679
  else printKvBlock("OAuth provider added", [
627
680
  ["ID:", data.id],
628
681
  ["Type:", data.type],
629
- ...data.client_id ? [["Client ID:", data.client_id]] : []
682
+ ...data.client_id ? [["Client ID:", data.client_id]] : [],
683
+ ...data.microsoft_tenant_id ? [["Tenant ID:", data.microsoft_tenant_id]] : [],
684
+ ...data.apple_team_id ? [["Team ID:", data.apple_team_id]] : [],
685
+ ...data.apple_key_id ? [["Key ID:", data.apple_key_id]] : []
630
686
  ]);
631
687
  printCallbackInstructions(props.providerId, await baseUrlRequest);
632
688
  };
633
689
  const oauthProviderUpdate = async (props) => {
690
+ const clientSecret = resolveClientSecret(props);
691
+ if (props.providerId === NeonAuthOauthProviderId.Apple) {
692
+ if (clientSecret !== void 0 && !props.appleKeyId) throw new Error("Changing the apple client secret requires --apple-key-id, the Key ID of the new private key.");
693
+ if (props.appleKeyId !== void 0 && clientSecret === void 0) throw new Error("--apple-key-id identifies the new private key, so it requires --oauth-client-secret or --oauth-client-secret-file.");
694
+ }
634
695
  const branchId = await resolveBranch(props);
635
696
  const baseUrlRequest = callbackBaseUrl(props, branchId, props.providerId);
636
697
  let data;
637
698
  try {
638
699
  ({data} = await props.apiClient.updateBranchNeonAuthOauthProvider(props.projectId, branchId, props.providerId, {
639
700
  client_id: props.oauthClientId,
640
- client_secret: props.oauthClientSecret
701
+ client_secret: clientSecret,
702
+ microsoft_tenant_id: props.microsoftTenantId,
703
+ apple_team_id: props.appleTeamId,
704
+ apple_key_id: props.appleKeyId
641
705
  }));
642
706
  } catch (err) {
643
- if (isNeonApiError(err) && codeFromBody(err.data) === "INVALID_SHARED_OAUTH_PROVIDER") throw new Error(`The "${props.providerId}" provider requires your own OAuth app credentials.\nRe-run with --oauth-client-id and --oauth-client-secret to provide them.\nCreate an OAuth app at your provider and use those credentials.`);
707
+ if (isNeonApiError(err) && codeFromBody(err.data) === "INVALID_SHARED_OAUTH_PROVIDER") throw new Error(sharedProviderRejectedMessage(props.providerId));
644
708
  throw err;
645
709
  }
646
710
  if (props.output === "json" || props.output === "yaml") writer(props).end(data, { fields: OAUTH_PROVIDER_FIELDS });
647
711
  else printKvBlock("OAuth provider updated", [
648
712
  ["ID:", data.id],
649
713
  ["Type:", data.type],
650
- ...data.client_id ? [["Client ID:", data.client_id]] : []
714
+ ...data.client_id ? [["Client ID:", data.client_id]] : [],
715
+ ...data.microsoft_tenant_id ? [["Tenant ID:", data.microsoft_tenant_id]] : [],
716
+ ...data.apple_team_id ? [["Team ID:", data.apple_team_id]] : [],
717
+ ...data.apple_key_id ? [["Key ID:", data.apple_key_id]] : []
651
718
  ]);
652
719
  printCallbackInstructions(props.providerId, await baseUrlRequest);
653
720
  };
@@ -660,6 +727,14 @@ const CALLBACK_INSTRUCTIONS = {
660
727
  lead: "Create a Vercel App in your Vercel Dashboard and add the following authorization callback URL:",
661
728
  urlLabel: "callback/vercel"
662
729
  },
730
+ microsoft: {
731
+ lead: "Register an application in Microsoft Entra ID > App registrations, and add the following redirect URI under the Web platform:",
732
+ urlLabel: "callback/microsoft"
733
+ },
734
+ apple: {
735
+ lead: "Create a Services ID in the Apple Developer portal, enable Sign in with Apple for it, and add the following return URL (Apple requires HTTPS and does not accept localhost):",
736
+ urlLabel: "callback/apple"
737
+ },
663
738
  google: {
664
739
  lead: "Get Google credentials by creating an OAuth client in Google Cloud Console > Credentials, and add the following authorized redirect URL:",
665
740
  urlLabel: "callback/google"
@@ -1256,5 +1331,4 @@ const userSetRole = async (props) => {
1256
1331
  const { data } = await props.apiClient.updateNeonAuthUserRole(props.projectId, branchId, props.userId, { roles: props.roles });
1257
1332
  printKvBlock("Roles updated", [["User ID:", data.id], ["Roles:", props.roles.join(", ")]]);
1258
1333
  };
1259
- //#endregion
1260
1334
  export { neon_auth_exports as a, handler as i, command as n, describe as r, builder as t };
@@ -1,8 +1,8 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { log } from "../log.js";
3
3
  import { getCliName } from "../utils/cli_name.js";
4
4
  import open from "open";
5
- //#region src/commands/open.ts
5
+ // src/commands/open.ts
6
6
  var open_exports = /* @__PURE__ */ __exportAll({
7
7
  builder: () => builder,
8
8
  command: () => command,
@@ -29,5 +29,4 @@ const handler = async (props) => {
29
29
  });
30
30
  });
31
31
  };
32
- //#endregion
33
32
  export { open_exports as a, handler as i, command as n, projectConsoleUrl as o, describe as r, builder as t };
@@ -1,7 +1,7 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { writer } from "../writer.js";
3
3
  import { fillSingleProject } from "../utils/enrichers.js";
4
- //#region src/commands/operations.ts
4
+ // src/commands/operations.ts
5
5
  var operations_exports = /* @__PURE__ */ __exportAll({
6
6
  aliases: () => aliases,
7
7
  builder: () => builder,
@@ -33,5 +33,4 @@ const list = async (props) => {
33
33
  });
34
34
  writer(props).end(data.operations, { fields: OPERATIONS_FIELDS });
35
35
  };
36
- //#endregion
37
36
  export { handler as a, describe as i, builder as n, list as o, command as r, operations_exports as s, aliases as t };
@@ -1,8 +1,8 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { readContextFile } from "../context.js";
3
3
  import { writer } from "../writer.js";
4
4
  import chalk from "chalk";
5
- //#region src/commands/orgs.ts
5
+ // src/commands/orgs.ts
6
6
  var orgs_exports = /* @__PURE__ */ __exportAll({
7
7
  aliases: () => aliases,
8
8
  builder: () => builder,
@@ -48,5 +48,4 @@ const ACRONYMS = {
48
48
  };
49
49
  /** `free_v3` -> `Free`, `aws_marketplace` -> `AWS Marketplace`; JSON/YAML keep the API id. */
50
50
  const planName = (plan) => (plan ?? "").replace(/_v\d+$/, "").split("_").filter(Boolean).map((word) => ACRONYMS[word] ?? word[0].toUpperCase() + word.slice(1)).join(" ");
51
- //#endregion
52
51
  export { handler as a, describe as i, builder as n, orgs_exports as o, command as r, planName as s, aliases as t };
@@ -1,6 +1,6 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { join, resolve } from "node:path";
3
- //#region ../../internals/cli-core/dist/paths.js
3
+ // ../../internals/cli-core/dist/paths.js
4
4
  /**
5
5
  * # Where the Neon CLIs keep their files on disk
6
6
  *
@@ -147,5 +147,4 @@ const isOwnedCredentialPath = (configDirectory, file) => {
147
147
  const legacy = legacyConfigDir();
148
148
  return legacy !== void 0 && isInsideConfigDir(legacy, file);
149
149
  };
150
- //#endregion
151
150
  export { isOwnedCredentialPath as a, isInsideConfigDir as i, credentialsPath as n, resolveConfigFile as o, defaultDir as r, CREDENTIALS_FILE as t };
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { log } from "../log.js";
3
3
  import { recordCommandSuccessExtras } from "../analytics.js";
4
4
  import { helpCsv, helpEpilogue } from "../utils/help_text.js";
@@ -12,7 +12,7 @@ import { AGENT_PLUGIN_SKIP_MESSAGE } from "../init/copy.js";
12
12
  import { canPickAgentsInteractively, skippableAgentPicker } from "../utils/agent_picker.js";
13
13
  import { resolvePluginsPlan } from "../plugins/plan.js";
14
14
  import { NEON_PLUGIN_NAME, PLUGIN_SKILLS, PLUGIN_SOURCE, neonPluginsRetryCommand, pluginsAddArgs, runPluginsCli } from "../plugins/run.js";
15
- //#region src/commands/plugins.ts
15
+ // src/commands/plugins.ts
16
16
  var plugins_exports = /* @__PURE__ */ __exportAll({
17
17
  aliases: () => aliases,
18
18
  builder: () => builder,
@@ -165,5 +165,4 @@ const handler = async (props) => {
165
165
  if (error) throw error;
166
166
  recordCommandSuccessExtras({ scope: outcome.scope });
167
167
  };
168
- //#endregion
169
168
  export { handler as a, plugins_exports as c, describe as i, reportPluginsInstall as l, builder as n, installPlugins as o, command as r, pluginsInstallError as s, aliases as t };
@@ -1,24 +1,24 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { t as writeSecretFile } from "./secure_file-BucZj4yQ.js";
3
- import { c as describeScope, d as scopeOf, l as interpretCredentials, n as KEYRING_SERVICE, o as apiKeyCredentials, r as keyringAccount, s as credentialLabel, t as storeFor } from "./credential_io-BS-0Pmwc.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
+ import { t as writeSecretFile } from "./secure_file-Caskdohg.js";
3
+ import { c as describeScope, d as scopeOf, l as interpretCredentials, n as KEYRING_SERVICE, o as apiKeyCredentials, r as keyringAccount, s as credentialLabel, t as storeFor } from "./credential_io-DbeSh3Pl.js";
4
4
  import { isCi } from "../env.js";
5
5
  import { log } from "../log.js";
6
6
  import { getApiClient, isNeonApiError } from "../api.js";
7
7
  import { setAuthContext } from "../auth_context.js";
8
- import { a as isOwnedCredentialPath, n as credentialsPath } from "./paths-DMq0Lt7a.js";
9
- import { _ as upsertProfile, a as canDropProfilesFile, c as listProfiles, d as newProfileLocation, f as profilesFilePath, g as selectProfileName, h as resolveProfile, i as assertValidProfileName, l as locationForName, m as readProfiles, n as KEYRING_CREDENTIALS, o as credentialsDisplay, p as profilesUsingPath, r as assertProfilesUsable, s as isKeyringPointer, u as locationOf, v as CRED_STORAGE_FILE, y as CRED_STORAGE_KEYRING } from "./profiles-DIB1av2Q.js";
8
+ import { a as isOwnedCredentialPath, n as credentialsPath } from "./paths-B55ZfOg1.js";
9
+ import { _ as upsertProfile, a as canDropProfilesFile, c as listProfiles, d as newProfileLocation, f as profilesFilePath, g as selectProfileName, h as resolveProfile, i as assertValidProfileName, l as locationForName, m as readProfiles, n as KEYRING_CREDENTIALS, o as credentialsDisplay, p as profilesUsingPath, r as assertProfilesUsable, s as isKeyringPointer, u as locationOf, v as CRED_STORAGE_FILE, y as CRED_STORAGE_KEYRING } from "./profiles-DTazQtjK.js";
10
10
  import { auth, revokeToken } from "../auth.js";
11
- import { t as credentialInputs } from "./auth_selection-YX5_KZgD.js";
11
+ import { t as credentialInputs } from "./auth_selection-CwGLN9Qz.js";
12
12
  import { readOutgoingCredential, retirePreviousCredential, revokeTokenSet, withdrawKey } from "../retire_credential.js";
13
- import { n as authFlow, p as usableCredential } from "./auth-CIUtXByB.js";
13
+ import { n as authFlow, p as usableCredential } from "./auth-DPSDYYtG.js";
14
14
  import { identityFromAuthDetails, isApiKeyMethod, mintedKeyName, notAnApiKeyMessage } from "../profile_keys.js";
15
15
  import { writer } from "../writer.js";
16
16
  import { noPassthrough, single } from "../utils/flags.js";
17
- import { s as orgIdForProject } from "./api_keys-CNnnugbQ.js";
17
+ import { s as orgIdForProject } from "./api_keys-6Xnxl7a8.js";
18
18
  import { existsSync, readFileSync, rmSync } from "node:fs";
19
19
  import { isAbsolute, relative } from "node:path";
20
20
  import prompts from "prompts";
21
- //#region src/commands/profile.ts
21
+ // src/commands/profile.ts
22
22
  var profile_exports = /* @__PURE__ */ __exportAll({
23
23
  aliases: () => aliases,
24
24
  builder: () => builder,
@@ -668,5 +668,4 @@ const remove = async (props) => {
668
668
  } else if (existsSync(at.path)) log.info("Left %s on disk — not created by neon", at.path);
669
669
  dropPointer();
670
670
  };
671
- //#endregion
672
671
  export { handler as a, describe as i, builder as n, profile_exports as o, command as r, aliases as t };
@@ -1,12 +1,11 @@
1
- import { t as writeSecretFile } from "./secure_file-BucZj4yQ.js";
2
- import { n as credentialsPath, o as resolveConfigFile, r as defaultDir } from "./paths-DMq0Lt7a.js";
1
+ import { t as writeSecretFile } from "./secure_file-Caskdohg.js";
2
+ import { n as credentialsPath, o as resolveConfigFile, r as defaultDir } from "./paths-B55ZfOg1.js";
3
3
  import { existsSync, readFileSync } from "node:fs";
4
4
  import { isAbsolute, relative, resolve } from "node:path";
5
- //#region ../../internals/cli-core/dist/cli_config.js
5
+ // ../../internals/cli-core/dist/cli_config.js
6
6
  const CRED_STORAGE_FILE = "file";
7
7
  const CRED_STORAGE_KEYRING = "keyring";
8
- //#endregion
9
- //#region ../../internals/cli-core/dist/profiles.js
8
+ // ../../internals/cli-core/dist/profiles.js
10
9
  /**
11
10
  * Pointer-only profiles avoid mirrored credentials and persistent active-profile
12
11
  * state while preserving existing single-account and legacy-directory installs.
@@ -218,5 +217,4 @@ function nonEmpty(value) {
218
217
  const trimmed = value.trim();
219
218
  return trimmed === "" ? void 0 : trimmed;
220
219
  }
221
- //#endregion
222
220
  export { upsertProfile as _, canDropProfilesFile as a, listProfiles as c, newProfileLocation as d, profilesFilePath as f, selectProfileName as g, resolveProfile as h, assertValidProfileName as i, locationForName as l, readProfiles as m, KEYRING_CREDENTIALS as n, credentialsDisplay as o, profilesUsingPath as p, assertProfilesUsable as r, isKeyringPointer as s, DEFAULT_PROFILE as t, locationOf as u, CRED_STORAGE_FILE as v, CRED_STORAGE_KEYRING as y };
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { isCi } from "../env.js";
3
3
  import { log } from "../log.js";
4
4
  import { isNeonApiError, messageFromBody } from "../api.js";
@@ -10,7 +10,7 @@ import { getComputeUnits } from "../utils/compute_units.js";
10
10
  import { psql } from "../utils/psql.js";
11
11
  import chalk from "chalk";
12
12
  import prompts from "prompts";
13
- //#region src/commands/projects.ts
13
+ // src/commands/projects.ts
14
14
  var projects_exports = /* @__PURE__ */ __exportAll({
15
15
  PROJECT_FIELDS: () => PROJECT_FIELDS,
16
16
  RECOVERABLE_PROJECT_FIELDS: () => RECOVERABLE_PROJECT_FIELDS,
@@ -435,5 +435,4 @@ const onPromptState = (state) => {
435
435
  process.exit(1);
436
436
  }
437
437
  };
438
- //#endregion
439
438
  export { builder as a, formatDuration as c, aliases as i, handler as l, RECOVERABLE_PROJECT_FIELDS as n, command as o, REGIONS as r, describe as s, PROJECT_FIELDS as t, projects_exports as u };
@@ -1,8 +1,8 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
2
2
  import { EndpointType } from "../utils/api_enums.js";
3
3
  import { fillSingleProject } from "../utils/enrichers.js";
4
- import { s as handler$1, t as SSL_MODES } from "./connection_string-DB4awPzZ.js";
5
- //#region src/commands/psql.ts
4
+ import { s as handler$1, t as SSL_MODES } from "./connection_string-C9e7N4xk.js";
5
+ // src/commands/psql.ts
6
6
  var psql_exports = /* @__PURE__ */ __exportAll({
7
7
  builder: () => builder,
8
8
  command: () => command,
@@ -60,5 +60,4 @@ const handler = async (props) => {
60
60
  extended: false
61
61
  });
62
62
  };
63
- //#endregion
64
63
  export { psql_exports as a, handler as i, command as n, describe as r, builder as t };
@@ -12,7 +12,7 @@ import { executeInputString, loadPsqlrc } from "../psql/io/psqlrc.js";
12
12
  import { existsSync, promises } from "node:fs";
13
13
  import * as path from "node:path";
14
14
  import * as os from "node:os";
15
- //#region src/psql/core/startup.ts
15
+ // src/psql/core/startup.ts
16
16
  /**
17
17
  * psql startup-args parser + applier.
18
18
  *
@@ -664,8 +664,7 @@ const resolveLayeredConnect = (argvLayer, resolution, legacyBase) => {
664
664
  return merged;
665
665
  };
666
666
  const formatParseError = (err) => err.message;
667
- //#endregion
668
- //#region src/psql/index.ts
667
+ // src/psql/index.ts
669
668
  /**
670
669
  * Embedded TypeScript psql entrypoint.
671
670
  *
@@ -2166,5 +2165,4 @@ const mergeConnectOptions = (layers, defaults) => {
2166
2165
  assertSslNegotiationModeCompatible(out.ssl, out.sslnegotiation);
2167
2166
  return out;
2168
2167
  };
2169
- //#endregion
2170
2168
  export { mergeConnectOptions as a, parseConnectionUriService as c, serviceEntryToConnectOptions as d, CLIENT_VERSION as f, parseStartupArgs as h, looksLikeConnectionString as i, parseConninfo as l, formatParseError as m, envConnectionDefaults as n, parseConnectionUri as o, applyStartupArgs as p, libpqConnectionDefaults as r, parseConnectionUriPartial as s, defaultClientCertDefaults as t, runPsql as u };