@neon/sdk 2.3.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 (36) hide show
  1. package/README.md +38 -5
  2. package/dist/client/index.d.ts +3 -3
  3. package/dist/client/index.js +2 -2
  4. package/dist/client/raw.gen.d.ts +80 -2
  5. package/dist/client/raw.gen.d.ts.map +1 -1
  6. package/dist/client/raw.gen.js +5 -2
  7. package/dist/client/raw.gen.js.map +1 -1
  8. package/dist/client/sdk.gen.d.ts +40 -2
  9. package/dist/client/sdk.gen.d.ts.map +1 -1
  10. package/dist/client/sdk.gen.js +100 -1
  11. package/dist/client/sdk.gen.js.map +1 -1
  12. package/dist/client/types.gen.d.ts +197 -1
  13. package/dist/client/types.gen.d.ts.map +1 -1
  14. package/dist/index.d.ts +4 -4
  15. package/dist/neon/coverage.d.ts.map +1 -1
  16. package/dist/neon/coverage.js +6 -0
  17. package/dist/neon/coverage.js.map +1 -1
  18. package/dist/neon/resources/branches.d.ts +29 -21
  19. package/dist/neon/resources/branches.d.ts.map +1 -1
  20. package/dist/neon/resources/branches.js +43 -12
  21. package/dist/neon/resources/branches.js.map +1 -1
  22. package/dist/neon/resources/custom-domains.d.ts +24 -0
  23. package/dist/neon/resources/custom-domains.d.ts.map +1 -0
  24. package/dist/neon/resources/custom-domains.js +57 -0
  25. package/dist/neon/resources/custom-domains.js.map +1 -0
  26. package/dist/neon/resources/functions.d.ts +2 -0
  27. package/dist/neon/resources/functions.d.ts.map +1 -1
  28. package/dist/neon/resources/functions.js +3 -0
  29. package/dist/neon/resources/functions.js.map +1 -1
  30. package/dist/neon/resources/projects.d.ts +6 -1
  31. package/dist/neon/resources/projects.d.ts.map +1 -1
  32. package/dist/neon/resources/projects.js +4 -1
  33. package/dist/neon/resources/projects.js.map +1 -1
  34. package/dist/raw.d.ts +3 -3
  35. package/dist/raw.js +5 -2
  36. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"branches.d.ts","names":[],"sources":["../../../src/neon/resources/branches.ts"],"mappings":"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"}
1
+ {"version":3,"file":"branches.d.ts","names":[],"sources":["../../../src/neon/resources/branches.ts"],"mappings":"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"}
@@ -4,6 +4,13 @@ import { createProjectBranch, deleteProjectBranch, finalizeRestoreBranch, getPro
4
4
  import { withConnectionString } from "../connection.js";
5
5
  import { paginate } from "../paginate.js";
6
6
  //#region src/neon/resources/branches.ts
7
+ const NO_COMPUTE_WITH_COMPUTE = "Pass compute settings or noCompute, not both.";
8
+ const readWriteEndpoint = (compute) => ({
9
+ type: "read_write",
10
+ autoscaling_limit_min_cu: compute?.minCu,
11
+ autoscaling_limit_max_cu: compute?.maxCu,
12
+ suspend_timeout_seconds: compute?.suspendTimeoutSeconds
13
+ });
7
14
  var Branches = class {
8
15
  #ctx;
9
16
  constructor(ctx) {
@@ -36,11 +43,20 @@ var Branches = class {
36
43
  signal
37
44
  }), (data) => data.branch);
38
45
  }
39
- create(projectId, input, opts) {
40
- return this.#ctx.run(opts, (client, signal) => createProjectBranch({
46
+ async create(projectId, input, opts) {
47
+ const shouldThrow = opts?.throwOnError ?? this.#ctx.defaults.throwOnError;
48
+ const parsed = parseCreateInput(input);
49
+ if (parsed.error) return finalize(err(parsed.error), shouldThrow);
50
+ return this.#ctx.run({
51
+ ...opts,
52
+ waitForReadiness: opts?.waitForReadiness ?? true
53
+ }, (client, signal) => createProjectBranch({
41
54
  client,
42
55
  path: { project_id: projectId },
43
- body: { branch: input },
56
+ body: {
57
+ branch: parsed.branch,
58
+ ...parsed.noCompute ? {} : { endpoints: [readWriteEndpoint(parsed.compute)] }
59
+ },
44
60
  throwOnError: false,
45
61
  signal
46
62
  }), (data) => data.branch);
@@ -68,7 +84,7 @@ var Branches = class {
68
84
  signal
69
85
  }));
70
86
  }
71
- async createWithCompute(projectId, input, opts) {
87
+ async createAndConnect(projectId, input, opts) {
72
88
  const shouldThrow = opts?.throwOnError ?? this.#ctx.defaults.throwOnError;
73
89
  const result = await this.#ctx.execute({
74
90
  ...opts,
@@ -78,15 +94,10 @@ var Branches = class {
78
94
  path: { project_id: projectId },
79
95
  body: {
80
96
  branch: {
81
- name: input.name,
82
- parent_id: input.parentId
97
+ name: input?.name,
98
+ parent_id: input?.parentId
83
99
  },
84
- endpoints: [{
85
- type: "read_write",
86
- autoscaling_limit_min_cu: input.compute?.minCu,
87
- autoscaling_limit_max_cu: input.compute?.maxCu,
88
- suspend_timeout_seconds: input.compute?.suspendTimeoutSeconds
89
- }]
100
+ endpoints: [readWriteEndpoint(input?.compute)]
90
101
  },
91
102
  throwOnError: false,
92
103
  signal
@@ -182,6 +193,26 @@ var Branches = class {
182
193
  }), () => void 0);
183
194
  }
184
195
  };
196
+ function parseCreateInput(input) {
197
+ if (input === void 0) return {
198
+ branch: {},
199
+ noCompute: false
200
+ };
201
+ if (input.noCompute === true) {
202
+ if ("compute" in input && input.compute !== void 0) return { error: new NeonError(NO_COMPUTE_WITH_COMPUTE, "client") };
203
+ const { noCompute: _noCompute, compute: _compute, ...branch } = input;
204
+ return {
205
+ branch,
206
+ noCompute: true
207
+ };
208
+ }
209
+ const { noCompute: _noCompute, compute, ...branch } = input;
210
+ return {
211
+ branch,
212
+ noCompute: false,
213
+ compute
214
+ };
215
+ }
185
216
  //#endregion
186
217
  export { Branches };
187
218
 
@@ -1 +1 @@
1
- {"version":3,"file":"branches.js","names":["#ctx"],"sources":["../../../src/neon/resources/branches.ts"],"sourcesContent":["import {\n\tcreateProjectBranch,\n\tdeleteProjectBranch,\n\tfinalizeRestoreBranch,\n\tgetProjectBranch,\n\tgetProjectBranchSchemaComparison,\n\tlistProjectBranches,\n\trestoreProjectBranch,\n\tsetDefaultProjectBranch,\n\tupdateProjectBranch,\n} from \"../../client/sdk.gen.js\";\nimport type {\n\tBranch,\n\tBranchCreateRequest,\n\tBranchSchemaCompareResponse,\n\tBranchUpdateRequest,\n\tEndpoint,\n\tListProjectBranchesData,\n} from \"../../client/types.gen.js\";\nimport { withConnectionString } from \"../connection.js\";\nimport type { CallOptions, RequestContext } from \"../context.js\";\nimport { NeonError } from \"../errors.js\";\nimport { type Paginated, paginate } from \"../paginate.js\";\nimport { err, finalize, type NeonResult, type Outcome, ok } from \"../result.js\";\n\ntype ListQuery = Omit<NonNullable<ListProjectBranchesData[\"query\"]>, \"cursor\">;\ntype CreateInput = NonNullable<BranchCreateRequest[\"branch\"]>;\ntype UpdateInput = BranchUpdateRequest[\"branch\"];\n\n/** Per-call options for the connect/compute workflows. */\ninterface WorkflowOptions<Throw extends boolean> extends CallOptions<Throw> {\n\t/** Return a pooled connection string (default `true`). */\n\tpooled?: boolean;\n}\n\n/** Input for {@link Branches.createWithCompute}. */\nexport interface CreateWithComputeInput {\n\tname?: string;\n\t/** Parent branch id. Defaults to the project's default branch. */\n\tparentId?: string;\n\t/** Autoscaling settings for the branch's read-write endpoint. */\n\tcompute?: {\n\t\tminCu?: number;\n\t\tmaxCu?: number;\n\t\tsuspendTimeoutSeconds?: number;\n\t};\n}\n\n/** A branch with its read-write endpoint and a ready-to-use connection string. */\nexport interface BranchWithCompute {\n\tbranch: Branch;\n\tendpoint: Endpoint;\n\tconnectionString: string;\n}\n\nexport interface ResetFromParentInput {\n\t/** Required when the branch has children so they can move to the preserved branch. */\n\tpreserveUnderName?: string;\n}\n\nexport interface CompareSchemaInput {\n\tdatabaseName: string;\n\tbaseBranchId?: string;\n\tlsn?: string;\n\ttimestamp?: string;\n\tbaseLsn?: string;\n\tbaseTimestamp?: string;\n}\n\nexport class Branches<DThrow extends boolean> {\n\treadonly #ctx: RequestContext;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/branches (cursor-paginated) */\n\tlist(\n\t\tprojectId: string,\n\t\tquery?: ListQuery,\n\t\topts?: CallOptions,\n\t): Paginated<Branch> {\n\t\treturn paginate(\n\t\t\t(cursor, signal) =>\n\t\t\t\tlistProjectBranches({\n\t\t\t\t\tclient: this.#ctx.client,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tquery: { ...query, cursor },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => ({\n\t\t\t\titems: data?.branches ?? [],\n\t\t\t\tcursor: data?.pagination?.next,\n\t\t\t}),\n\t\t\t() => this.#ctx.deadlineFor(opts),\n\t\t);\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/branches/{branch_id} */\n\tget(projectId: string, branchId: string): Promise<Outcome<Branch, DThrow>>;\n\tget<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tget(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgetProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t}\n\n\t/** @apiCall POST /projects/{project_id}/branches */\n\tcreate(\n\t\tprojectId: string,\n\t\tinput?: CreateInput,\n\t): Promise<Outcome<Branch, DThrow>>;\n\tcreate<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tinput: CreateInput | undefined,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tcreate(\n\t\tprojectId: string,\n\t\tinput?: CreateInput,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tcreateProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tbody: { branch: input },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t}\n\n\t/** @apiCall PATCH /projects/{project_id}/branches/{branch_id} */\n\tupdate(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: UpdateInput,\n\t): Promise<Outcome<Branch, DThrow>>;\n\tupdate<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: UpdateInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tupdate(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: UpdateInput,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tupdateProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tbody: { branch: input },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t}\n\n\t/** @apiCall DELETE /projects/{project_id}/branches/{branch_id} */\n\tdelete(projectId: string, branchId: string): Promise<Outcome<void, DThrow>>;\n\tdelete<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\tdelete(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\treturn this.#ctx.runVoid(opts, (client, signal) =>\n\t\t\tdeleteProjectBranch({\n\t\t\t\tclient,\n\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\tthrowOnError: false,\n\t\t\t\tsignal,\n\t\t\t}),\n\t\t);\n\t}\n\n\t/**\n\t * Create a branch **with a read-write endpoint** and return a ready-to-use connection\n\t * string. One API call (Neon creates the endpoint inline) plus readiness polling.\n\t *\n\t * @workflow createProjectBranch (with endpoint) + waitForReadiness\n\t */\n\tcreateWithCompute(\n\t\tprojectId: string,\n\t\tinput: CreateWithComputeInput,\n\t): Promise<Outcome<BranchWithCompute, DThrow>>;\n\tcreateWithCompute<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tinput: CreateWithComputeInput,\n\t\topts: WorkflowOptions<Throw>,\n\t): Promise<Outcome<BranchWithCompute, Throw>>;\n\tasync createWithCompute(\n\t\tprojectId: string,\n\t\tinput: CreateWithComputeInput,\n\t\topts?: WorkflowOptions<boolean>,\n\t): Promise<BranchWithCompute | NeonResult<BranchWithCompute>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst result = await this.#ctx.execute(\n\t\t\t{ ...opts, waitForReadiness: opts?.waitForReadiness ?? true },\n\t\t\t(client, signal) =>\n\t\t\t\tcreateProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tbranch: { name: input.name, parent_id: input.parentId },\n\t\t\t\t\t\tendpoints: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"read_write\",\n\t\t\t\t\t\t\t\tautoscaling_limit_min_cu: input.compute?.minCu,\n\t\t\t\t\t\t\t\tautoscaling_limit_max_cu: input.compute?.maxCu,\n\t\t\t\t\t\t\t\tsuspend_timeout_seconds:\n\t\t\t\t\t\t\t\t\tinput.compute?.suspendTimeoutSeconds,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t\tconst out = withConnectionString(\n\t\t\tresult,\n\t\t\t(data) => data.connection_uris,\n\t\t\t(data, connectionString) => ({\n\t\t\t\tbranch: data.branch,\n\t\t\t\tendpoint: data.endpoints[0],\n\t\t\t\tconnectionString,\n\t\t\t}),\n\t\t\topts?.pooled ?? true,\n\t\t);\n\t\treturn finalize(out, shouldThrow);\n\t}\n\n\t/**\n\t * Resolve the project's default branch (by the `default` flag — not by name).\n\t * Returns a `client`-kind {@link NeonError} when no default branch is found.\n\t */\n\tgetDefault(projectId: string): Promise<Outcome<Branch, DThrow>>;\n\tgetDefault<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tasync getDefault(\n\t\tprojectId: string,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst result = await this.#ctx.execute(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tlistProjectBranches({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branches,\n\t\t);\n\t\tif (result.error)\n\t\t\treturn finalize(err<Branch>(result.error), shouldThrow);\n\t\tconst branch = result.data.find((candidate) => candidate.default);\n\t\tif (!branch) {\n\t\t\treturn finalize(\n\t\t\t\terr<Branch>(\n\t\t\t\t\tnew NeonError(\n\t\t\t\t\t\t\"No default branch found for the project.\",\n\t\t\t\t\t\t\"client\",\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tshouldThrow,\n\t\t\t);\n\t\t}\n\t\treturn finalize(ok(branch), shouldThrow);\n\t}\n\n\t/** @apiCall POST /projects/{project_id}/branches/{branch_id}/set_as_default */\n\tsetDefault(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t): Promise<Outcome<Branch, DThrow>>;\n\tsetDefault<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tsetDefault(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tsetDefaultProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t}\n\n\t/**\n\t * Uses the parent's current HEAD; use raw `restoreProjectBranch` for an LSN or timestamp.\n\t *\n\t * @apiCall GET /projects/{project_id}/branches/{branch_id}\n\t * @apiCall POST /projects/{project_id}/branches/{branch_id}/restore\n\t */\n\tresetFromParent(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput?: ResetFromParentInput,\n\t): Promise<Outcome<Branch, DThrow>>;\n\tresetFromParent<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: ResetFromParentInput | undefined,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tasync resetFromParent(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput?: ResetFromParentInput,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst current = await this.#ctx.execute(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgetProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t\tif (current.error) {\n\t\t\treturn finalize(err<Branch>(current.error), shouldThrow);\n\t\t}\n\t\tconst parentId = current.data.parent_id;\n\t\tif (!parentId) {\n\t\t\treturn finalize(\n\t\t\t\terr<Branch>(\n\t\t\t\t\tnew NeonError(\n\t\t\t\t\t\t\"Branch has no parent and cannot be reset.\",\n\t\t\t\t\t\t\"client\",\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tshouldThrow,\n\t\t\t);\n\t\t}\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\trestoreProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tsource_branch_id: parentId,\n\t\t\t\t\t\t...(input?.preserveUnderName === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { preserve_under_name: input.preserveUnderName }),\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t}\n\n\t/**\n\t * Returns a unified SQL diff; omitting `baseBranchId` uses the parent branch.\n\t *\n\t * @apiCall GET /projects/{project_id}/branches/{branch_id}/compare_schema\n\t */\n\tcompareSchema(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: CompareSchemaInput,\n\t): Promise<Outcome<BranchSchemaCompareResponse, DThrow>>;\n\tcompareSchema<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: CompareSchemaInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<BranchSchemaCompareResponse, Throw>>;\n\tcompareSchema(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: CompareSchemaInput,\n\t\topts?: CallOptions,\n\t): Promise<\n\t\tBranchSchemaCompareResponse | NeonResult<BranchSchemaCompareResponse>\n\t> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgetProjectBranchSchemaComparison({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tdb_name: input.databaseName,\n\t\t\t\t\t\t...(input.baseBranchId === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { base_branch_id: input.baseBranchId }),\n\t\t\t\t\t\t...(input.lsn === undefined ? {} : { lsn: input.lsn }),\n\t\t\t\t\t\t...(input.timestamp === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { timestamp: input.timestamp }),\n\t\t\t\t\t\t...(input.baseLsn === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { base_lsn: input.baseLsn }),\n\t\t\t\t\t\t...(input.baseTimestamp === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { base_timestamp: input.baseTimestamp }),\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n\n\t/**\n\t * Complete (commit) a restore previously started with `snapshots.restore({ finalize: false })`:\n\t * moves computes onto the restored branch and renames the replaced one. This is **only**\n\t * the second step — it does not restore anything itself.\n\t *\n\t * @apiCall POST /projects/{project_id}/branches/{branch_id}/restore/finalize\n\t */\n\tfinalizeRestore(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput?: { name?: string },\n\t): Promise<Outcome<void, DThrow>>;\n\tfinalizeRestore<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: { name?: string } | undefined,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\tfinalizeRestore(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput?: { name?: string },\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tfinalizeRestoreBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tbody: { name: input?.name },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t() => undefined,\n\t\t);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"branches.js","names":["#ctx"],"sources":["../../../src/neon/resources/branches.ts"],"sourcesContent":["import {\n\tcreateProjectBranch,\n\tdeleteProjectBranch,\n\tfinalizeRestoreBranch,\n\tgetProjectBranch,\n\tgetProjectBranchSchemaComparison,\n\tlistProjectBranches,\n\trestoreProjectBranch,\n\tsetDefaultProjectBranch,\n\tupdateProjectBranch,\n} from \"../../client/sdk.gen.js\";\nimport type {\n\tBranch,\n\tBranchCreateRequest,\n\tBranchSchemaCompareResponse,\n\tBranchUpdateRequest,\n\tEndpoint,\n\tListProjectBranchesData,\n} from \"../../client/types.gen.js\";\nimport { withConnectionString } from \"../connection.js\";\nimport type { CallOptions, RequestContext } from \"../context.js\";\nimport { NeonError } from \"../errors.js\";\nimport { type Paginated, paginate } from \"../paginate.js\";\nimport { err, finalize, type NeonResult, type Outcome, ok } from \"../result.js\";\n\ntype ListQuery = Omit<NonNullable<ListProjectBranchesData[\"query\"]>, \"cursor\">;\ntype BranchFields = NonNullable<BranchCreateRequest[\"branch\"]>;\ntype UpdateInput = BranchUpdateRequest[\"branch\"];\n\ninterface WorkflowOptions<Throw extends boolean> extends CallOptions<Throw> {\n\t/** Return a pooled connection string (default `true`). */\n\tpooled?: boolean;\n}\n\nexport interface ComputeSettings {\n\tminCu?: number;\n\tmaxCu?: number;\n\tsuspendTimeoutSeconds?: number;\n}\n\ntype CreateInputBase = BranchFields & {\n\tcompute?: ComputeSettings;\n};\n\nexport type CreateInput =\n\t| (CreateInputBase & { noCompute?: false })\n\t| (BranchFields & { noCompute: true; compute?: never });\n\nexport interface CreateAndConnectInput {\n\tname?: string;\n\t/** Parent branch id. Defaults to the project's default branch. */\n\tparentId?: string;\n\tcompute?: ComputeSettings;\n}\n\n/** A branch with its read-write endpoint and a ready-to-use connection string. */\nexport interface BranchConnection {\n\tbranch: Branch;\n\tendpoint: Endpoint;\n\tconnectionString: string;\n}\n\nconst NO_COMPUTE_WITH_COMPUTE = \"Pass compute settings or noCompute, not both.\";\n\nconst readWriteEndpoint = (compute?: ComputeSettings) => ({\n\ttype: \"read_write\" as const,\n\tautoscaling_limit_min_cu: compute?.minCu,\n\tautoscaling_limit_max_cu: compute?.maxCu,\n\tsuspend_timeout_seconds: compute?.suspendTimeoutSeconds,\n});\n\nexport interface ResetFromParentInput {\n\t/** Required when the branch has children so they can move to the preserved branch. */\n\tpreserveUnderName?: string;\n}\n\nexport interface CompareSchemaInput {\n\tdatabaseName: string;\n\tbaseBranchId?: string;\n\tlsn?: string;\n\ttimestamp?: string;\n\tbaseLsn?: string;\n\tbaseTimestamp?: string;\n}\n\nexport class Branches<DThrow extends boolean> {\n\treadonly #ctx: RequestContext;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/branches (cursor-paginated) */\n\tlist(\n\t\tprojectId: string,\n\t\tquery?: ListQuery,\n\t\topts?: CallOptions,\n\t): Paginated<Branch> {\n\t\treturn paginate(\n\t\t\t(cursor, signal) =>\n\t\t\t\tlistProjectBranches({\n\t\t\t\t\tclient: this.#ctx.client,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tquery: { ...query, cursor },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => ({\n\t\t\t\titems: data?.branches ?? [],\n\t\t\t\tcursor: data?.pagination?.next,\n\t\t\t}),\n\t\t\t() => this.#ctx.deadlineFor(opts),\n\t\t);\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/branches/{branch_id} */\n\tget(projectId: string, branchId: string): Promise<Outcome<Branch, DThrow>>;\n\tget<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tget(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgetProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t}\n\n\t/**\n\t * This method retains its branch-only result even when it provisions compute;\n\t * use {@link Branches.createAndConnect} or `postgres.connectionString` when a\n\t * connection string is needed.\n\t *\n\t * Readiness polling stays on for `noCompute` branches because a\n\t * compute-less branch still has provisioning operations.\n\t */\n\tcreate(\n\t\tprojectId: string,\n\t\tinput?: CreateInput,\n\t): Promise<Outcome<Branch, DThrow>>;\n\tcreate<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tinput: CreateInput | undefined,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tasync create(\n\t\tprojectId: string,\n\t\tinput?: CreateInput,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst parsed = parseCreateInput(input);\n\t\tif (parsed.error) {\n\t\t\treturn finalize(err<Branch>(parsed.error), shouldThrow);\n\t\t}\n\t\treturn this.#ctx.run(\n\t\t\t{\n\t\t\t\t...opts,\n\t\t\t\twaitForReadiness: opts?.waitForReadiness ?? true,\n\t\t\t},\n\t\t\t(client, signal) =>\n\t\t\t\tcreateProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tbranch: parsed.branch,\n\t\t\t\t\t\t...(parsed.noCompute\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\tendpoints: [\n\t\t\t\t\t\t\t\t\t\treadWriteEndpoint(parsed.compute),\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t}\n\n\t/** @apiCall PATCH /projects/{project_id}/branches/{branch_id} */\n\tupdate(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: UpdateInput,\n\t): Promise<Outcome<Branch, DThrow>>;\n\tupdate<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: UpdateInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tupdate(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: UpdateInput,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tupdateProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tbody: { branch: input },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t}\n\n\t/** @apiCall DELETE /projects/{project_id}/branches/{branch_id} */\n\tdelete(projectId: string, branchId: string): Promise<Outcome<void, DThrow>>;\n\tdelete<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\tdelete(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\treturn this.#ctx.runVoid(opts, (client, signal) =>\n\t\t\tdeleteProjectBranch({\n\t\t\t\tclient,\n\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\tthrowOnError: false,\n\t\t\t\tsignal,\n\t\t\t}),\n\t\t);\n\t}\n\n\tcreateAndConnect(\n\t\tprojectId: string,\n\t\tinput?: CreateAndConnectInput,\n\t): Promise<Outcome<BranchConnection, DThrow>>;\n\tcreateAndConnect<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tinput: CreateAndConnectInput | undefined,\n\t\topts: WorkflowOptions<Throw>,\n\t): Promise<Outcome<BranchConnection, Throw>>;\n\tasync createAndConnect(\n\t\tprojectId: string,\n\t\tinput?: CreateAndConnectInput,\n\t\topts?: WorkflowOptions<boolean>,\n\t): Promise<BranchConnection | NeonResult<BranchConnection>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst result = await this.#ctx.execute(\n\t\t\t{ ...opts, waitForReadiness: opts?.waitForReadiness ?? true },\n\t\t\t(client, signal) =>\n\t\t\t\tcreateProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tbranch: {\n\t\t\t\t\t\t\tname: input?.name,\n\t\t\t\t\t\t\tparent_id: input?.parentId,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tendpoints: [readWriteEndpoint(input?.compute)],\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t\tconst out = withConnectionString(\n\t\t\tresult,\n\t\t\t(data) => data.connection_uris,\n\t\t\t(data, connectionString) => ({\n\t\t\t\tbranch: data.branch,\n\t\t\t\tendpoint: data.endpoints[0],\n\t\t\t\tconnectionString,\n\t\t\t}),\n\t\t\topts?.pooled ?? true,\n\t\t);\n\t\treturn finalize(out, shouldThrow);\n\t}\n\n\t/**\n\t * Resolve the project's default branch (by the `default` flag — not by name).\n\t * Returns a `client`-kind {@link NeonError} when no default branch is found.\n\t */\n\tgetDefault(projectId: string): Promise<Outcome<Branch, DThrow>>;\n\tgetDefault<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tasync getDefault(\n\t\tprojectId: string,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst result = await this.#ctx.execute(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tlistProjectBranches({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branches,\n\t\t);\n\t\tif (result.error)\n\t\t\treturn finalize(err<Branch>(result.error), shouldThrow);\n\t\tconst branch = result.data.find((candidate) => candidate.default);\n\t\tif (!branch) {\n\t\t\treturn finalize(\n\t\t\t\terr<Branch>(\n\t\t\t\t\tnew NeonError(\n\t\t\t\t\t\t\"No default branch found for the project.\",\n\t\t\t\t\t\t\"client\",\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tshouldThrow,\n\t\t\t);\n\t\t}\n\t\treturn finalize(ok(branch), shouldThrow);\n\t}\n\n\t/** @apiCall POST /projects/{project_id}/branches/{branch_id}/set_as_default */\n\tsetDefault(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t): Promise<Outcome<Branch, DThrow>>;\n\tsetDefault<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tsetDefault(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tsetDefaultProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t}\n\n\t/**\n\t * Uses the parent's current HEAD; use raw `restoreProjectBranch` for an LSN or timestamp.\n\t *\n\t * @apiCall GET /projects/{project_id}/branches/{branch_id}\n\t * @apiCall POST /projects/{project_id}/branches/{branch_id}/restore\n\t */\n\tresetFromParent(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput?: ResetFromParentInput,\n\t): Promise<Outcome<Branch, DThrow>>;\n\tresetFromParent<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: ResetFromParentInput | undefined,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Branch, Throw>>;\n\tasync resetFromParent(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput?: ResetFromParentInput,\n\t\topts?: CallOptions,\n\t): Promise<Branch | NeonResult<Branch>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst current = await this.#ctx.execute(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgetProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t\tif (current.error) {\n\t\t\treturn finalize(err<Branch>(current.error), shouldThrow);\n\t\t}\n\t\tconst parentId = current.data.parent_id;\n\t\tif (!parentId) {\n\t\t\treturn finalize(\n\t\t\t\terr<Branch>(\n\t\t\t\t\tnew NeonError(\n\t\t\t\t\t\t\"Branch has no parent and cannot be reset.\",\n\t\t\t\t\t\t\"client\",\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tshouldThrow,\n\t\t\t);\n\t\t}\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\trestoreProjectBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tsource_branch_id: parentId,\n\t\t\t\t\t\t...(input?.preserveUnderName === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { preserve_under_name: input.preserveUnderName }),\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.branch,\n\t\t);\n\t}\n\n\t/**\n\t * Returns a unified SQL diff; omitting `baseBranchId` uses the parent branch.\n\t *\n\t * @apiCall GET /projects/{project_id}/branches/{branch_id}/compare_schema\n\t */\n\tcompareSchema(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: CompareSchemaInput,\n\t): Promise<Outcome<BranchSchemaCompareResponse, DThrow>>;\n\tcompareSchema<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: CompareSchemaInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<BranchSchemaCompareResponse, Throw>>;\n\tcompareSchema(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: CompareSchemaInput,\n\t\topts?: CallOptions,\n\t): Promise<\n\t\tBranchSchemaCompareResponse | NeonResult<BranchSchemaCompareResponse>\n\t> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgetProjectBranchSchemaComparison({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tdb_name: input.databaseName,\n\t\t\t\t\t\t...(input.baseBranchId === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { base_branch_id: input.baseBranchId }),\n\t\t\t\t\t\t...(input.lsn === undefined ? {} : { lsn: input.lsn }),\n\t\t\t\t\t\t...(input.timestamp === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { timestamp: input.timestamp }),\n\t\t\t\t\t\t...(input.baseLsn === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { base_lsn: input.baseLsn }),\n\t\t\t\t\t\t...(input.baseTimestamp === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { base_timestamp: input.baseTimestamp }),\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n\n\t/**\n\t * Complete (commit) a restore previously started with `snapshots.restore({ finalize: false })`:\n\t * moves computes onto the restored branch and renames the replaced one. This is **only**\n\t * the second step — it does not restore anything itself.\n\t *\n\t * @apiCall POST /projects/{project_id}/branches/{branch_id}/restore/finalize\n\t */\n\tfinalizeRestore(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput?: { name?: string },\n\t): Promise<Outcome<void, DThrow>>;\n\tfinalizeRestore<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: { name?: string } | undefined,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\tfinalizeRestore(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput?: { name?: string },\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tfinalizeRestoreBranch({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tbody: { name: input?.name },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t() => undefined,\n\t\t);\n\t}\n}\n\nfunction parseCreateInput(input?: CreateInput):\n\t| {\n\t\t\terror: NeonError;\n\t }\n\t| {\n\t\t\terror?: undefined;\n\t\t\tbranch: BranchFields;\n\t\t\tnoCompute: boolean;\n\t\t\tcompute?: ComputeSettings;\n\t } {\n\tif (input === undefined) {\n\t\treturn { branch: {}, noCompute: false };\n\t}\n\tif (input.noCompute === true) {\n\t\tif (\"compute\" in input && input.compute !== undefined) {\n\t\t\treturn {\n\t\t\t\terror: new NeonError(NO_COMPUTE_WITH_COMPUTE, \"client\"),\n\t\t\t};\n\t\t}\n\t\tconst { noCompute: _noCompute, compute: _compute, ...branch } = input;\n\t\treturn { branch, noCompute: true };\n\t}\n\tconst { noCompute: _noCompute, compute, ...branch } = input;\n\treturn { branch, noCompute: false, compute };\n}\n"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { CustomDomain, CustomDomainRegisterRequest, ListProjectBranchCustomDomainsData } from "../../client/types.gen.js";
2
+ import { Outcome } from "../result.js";
3
+ import { CallOptions, RequestContext } from "../context.js";
4
+ import { Paginated } from "../paginate.js";
5
+
6
+ //#region src/neon/resources/custom-domains.d.ts
7
+ type ListQuery = Omit<NonNullable<ListProjectBranchCustomDomainsData["query"]>, "cursor">;
8
+ type RegisterInput = CustomDomainRegisterRequest;
9
+ /** Branch-scoped custom domains. v1 can only target a function. */
10
+ declare class CustomDomains<DThrow extends boolean> {
11
+ #private;
12
+ constructor(ctx: RequestContext);
13
+ /** @apiCall GET /projects/{project_id}/branches/{branch_id}/custom-domains (cursor-paginated) */
14
+ list(projectId: string, branchId: string, query?: ListQuery, opts?: CallOptions): Paginated<CustomDomain>;
15
+ /** @apiCall POST /projects/{project_id}/branches/{branch_id}/custom-domains */
16
+ register(projectId: string, branchId: string, input: RegisterInput): Promise<Outcome<CustomDomain, DThrow>>;
17
+ register<Throw extends boolean = DThrow>(projectId: string, branchId: string, input: RegisterInput, opts: CallOptions<Throw>): Promise<Outcome<CustomDomain, Throw>>;
18
+ /** @apiCall DELETE /projects/{project_id}/branches/{branch_id}/custom-domains/{domain} */
19
+ delete(projectId: string, branchId: string, domain: string): Promise<Outcome<void, DThrow>>;
20
+ delete<Throw extends boolean = DThrow>(projectId: string, branchId: string, domain: string, opts: CallOptions<Throw>): Promise<Outcome<void, Throw>>;
21
+ }
22
+ //#endregion
23
+ export { CustomDomains };
24
+ //# sourceMappingURL=custom-domains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-domains.d.ts","names":[],"sources":["../../../src/neon/resources/custom-domains.ts"],"mappings":";;;;;;KAcK,SAAA,GAAY,KAChB,YAAY;KAGR,aAAA,GAAgB;AANmC;AAE1C,cAOD,aAPC,CAAA,eAAA,OAAA,CAAA,CAAA;EACD,CAAA,OAAA;EAAZ,WAAA,CAAA,GAAA,EASiB,cATjB;EADgB;EAAI,IAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAkBX,SAlBW,EAAA,IAAA,CAAA,EAmBZ,WAnBY,CAAA,EAoBjB,SApBiB,CAoBP,YApBO,CAAA;EAIhB;EAGQ,QAAA,CAAA,SAAa,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,KAAA,EAmCjB,aAnCiB,CAAA,EAoCtB,OApCsB,CAoCd,OApCc,CAoCN,YApCM,EAoCQ,MApCR,CAAA,CAAA;EAAA,QAAA,CAAA,cAAA,OAAA,GAqCQ,MArCR,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,KAAA,EAwCjB,aAxCiB,EAAA,IAAA,EAyClB,WAzCkB,CAyCN,KAzCM,CAAA,CAAA,EA0CtB,OA1CsB,CA0Cd,OA1Cc,CA0CN,YA1CM,EA0CQ,KA1CR,CAAA,CAAA;EAGR;EAQR,MAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAyDN,OAzDM,CAyDE,OAzDF,CAAA,IAAA,EAyDgB,MAzDhB,CAAA,CAAA;EACD,MAAA,CAAA,cAAA,OAAA,GAyDuB,MAzDvB,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,IAAA,EA6DD,WA7DC,CA6DW,KA7DX,CAAA,CAAA,EA8DL,OA9DK,CA8DG,OA9DH,CAAA,IAAA,EA8DiB,KA9DjB,CAAA,CAAA;AACK"}
@@ -0,0 +1,57 @@
1
+ import { deleteProjectBranchCustomDomain, listProjectBranchCustomDomains, registerProjectBranchCustomDomain } from "../../client/sdk.gen.js";
2
+ import { paginate } from "../paginate.js";
3
+ //#region src/neon/resources/custom-domains.ts
4
+ /** Branch-scoped custom domains. v1 can only target a function. */
5
+ var CustomDomains = class {
6
+ #ctx;
7
+ constructor(ctx) {
8
+ this.#ctx = ctx;
9
+ }
10
+ /** @apiCall GET /projects/{project_id}/branches/{branch_id}/custom-domains (cursor-paginated) */
11
+ list(projectId, branchId, query, opts) {
12
+ return paginate((cursor, signal) => listProjectBranchCustomDomains({
13
+ client: this.#ctx.client,
14
+ path: {
15
+ project_id: projectId,
16
+ branch_id: branchId
17
+ },
18
+ query: {
19
+ ...query,
20
+ cursor
21
+ },
22
+ throwOnError: false,
23
+ signal
24
+ }), (data) => ({
25
+ items: data?.custom_domains ?? [],
26
+ cursor: data?.pagination?.next
27
+ }), () => this.#ctx.deadlineFor(opts));
28
+ }
29
+ register(projectId, branchId, input, opts) {
30
+ return this.#ctx.run(opts, (client, signal) => registerProjectBranchCustomDomain({
31
+ client,
32
+ path: {
33
+ project_id: projectId,
34
+ branch_id: branchId
35
+ },
36
+ body: input,
37
+ throwOnError: false,
38
+ signal
39
+ }), (data) => data);
40
+ }
41
+ delete(projectId, branchId, domain, opts) {
42
+ return this.#ctx.runVoid(opts, (client, signal) => deleteProjectBranchCustomDomain({
43
+ client,
44
+ path: {
45
+ project_id: projectId,
46
+ branch_id: branchId,
47
+ domain
48
+ },
49
+ throwOnError: false,
50
+ signal
51
+ }));
52
+ }
53
+ };
54
+ //#endregion
55
+ export { CustomDomains };
56
+
57
+ //# sourceMappingURL=custom-domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-domains.js","names":["#ctx"],"sources":["../../../src/neon/resources/custom-domains.ts"],"sourcesContent":["import {\n\tdeleteProjectBranchCustomDomain,\n\tlistProjectBranchCustomDomains,\n\tregisterProjectBranchCustomDomain,\n} from \"../../client/sdk.gen.js\";\nimport type {\n\tCustomDomain,\n\tCustomDomainRegisterRequest,\n\tListProjectBranchCustomDomainsData,\n} from \"../../client/types.gen.js\";\nimport type { CallOptions, RequestContext } from \"../context.js\";\nimport { type Paginated, paginate } from \"../paginate.js\";\nimport type { NeonResult, Outcome } from \"../result.js\";\n\ntype ListQuery = Omit<\n\tNonNullable<ListProjectBranchCustomDomainsData[\"query\"]>,\n\t\"cursor\"\n>;\ntype RegisterInput = CustomDomainRegisterRequest;\n\n/** Branch-scoped custom domains. v1 can only target a function. */\nexport class CustomDomains<DThrow extends boolean> {\n\treadonly #ctx: RequestContext;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/branches/{branch_id}/custom-domains (cursor-paginated) */\n\tlist(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tquery?: ListQuery,\n\t\topts?: CallOptions,\n\t): Paginated<CustomDomain> {\n\t\treturn paginate(\n\t\t\t(cursor, signal) =>\n\t\t\t\tlistProjectBranchCustomDomains({\n\t\t\t\t\tclient: this.#ctx.client,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tquery: { ...query, cursor },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => ({\n\t\t\t\titems: data?.custom_domains ?? [],\n\t\t\t\tcursor: data?.pagination?.next,\n\t\t\t}),\n\t\t\t() => this.#ctx.deadlineFor(opts),\n\t\t);\n\t}\n\n\t/** @apiCall POST /projects/{project_id}/branches/{branch_id}/custom-domains */\n\tregister(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: RegisterInput,\n\t): Promise<Outcome<CustomDomain, DThrow>>;\n\tregister<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: RegisterInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<CustomDomain, Throw>>;\n\tregister(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tinput: RegisterInput,\n\t\topts?: CallOptions,\n\t): Promise<CustomDomain | NeonResult<CustomDomain>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tregisterProjectBranchCustomDomain({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tbody: input,\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n\n\t/** @apiCall DELETE /projects/{project_id}/branches/{branch_id}/custom-domains/{domain} */\n\tdelete(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tdomain: string,\n\t): Promise<Outcome<void, DThrow>>;\n\tdelete<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tdomain: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\tdelete(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tdomain: string,\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\treturn this.#ctx.runVoid(opts, (client, signal) =>\n\t\t\tdeleteProjectBranchCustomDomain({\n\t\t\t\tclient,\n\t\t\t\tpath: {\n\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\tbranch_id: branchId,\n\t\t\t\t\tdomain,\n\t\t\t\t},\n\t\t\t\tthrowOnError: false,\n\t\t\t\tsignal,\n\t\t\t}),\n\t\t);\n\t}\n}\n"],"mappings":";;;;AAqBA,IAAa,gBAAb,MAAmD;CAClD;CAEA,YAAY,KAAqB;EAChC,KAAKA,OAAO;CACb;;CAGA,KACC,WACA,UACA,OACA,MAC0B;EAC1B,OAAO,UACL,QAAQ,WACR,+BAA+B;GAC9B,QAAQ,KAAKA,KAAK;GAClB,MAAM;IAAE,YAAY;IAAW,WAAW;GAAS;GACnD,OAAO;IAAE,GAAG;IAAO;GAAO;GAC1B,cAAc;GACd;EACD,CAAC,IACD,UAAU;GACV,OAAO,MAAM,kBAAkB,CAAC;GAChC,QAAQ,MAAM,YAAY;EAC3B,UACM,KAAKA,KAAK,YAAY,IAAI,CACjC;CACD;CAcA,SACC,WACA,UACA,OACA,MACmD;EACnD,OAAO,KAAKA,KAAK,IAChB,OACC,QAAQ,WACR,kCAAkC;GACjC;GACA,MAAM;IAAE,YAAY;IAAW,WAAW;GAAS;GACnD,MAAM;GACN,cAAc;GACd;EACD,CAAC,IACD,SAAS,IACX;CACD;CAcA,OACC,WACA,UACA,QACA,MACmC;EACnC,OAAO,KAAKA,KAAK,QAAQ,OAAO,QAAQ,WACvC,gCAAgC;GAC/B;GACA,MAAM;IACL,YAAY;IACZ,WAAW;IACX;GACD;GACA,cAAc;GACd;EACD,CAAC,CACF;CACD;AACD"}
@@ -2,6 +2,7 @@ import { FunctionDeployRequest, ListProjectBranchFunctionsData, NeonFunction, Ne
2
2
  import { Outcome } from "../result.js";
3
3
  import { CallOptions, RequestContext } from "../context.js";
4
4
  import { Paginated } from "../paginate.js";
5
+ import { CustomDomains } from "./custom-domains.js";
5
6
 
6
7
  //#region src/neon/resources/functions.d.ts
7
8
  type ListQuery = Omit<NonNullable<ListProjectBranchFunctionsData["query"]>, "cursor">;
@@ -9,6 +10,7 @@ type UpdateInput = NeonFunctionUpdateRequest;
9
10
  /** Branch-scoped Neon Functions. */
10
11
  declare class Functions<DThrow extends boolean> {
11
12
  #private;
13
+ readonly customDomains: CustomDomains<DThrow>;
12
14
  constructor(ctx: RequestContext);
13
15
  /** @apiCall GET /projects/{project_id}/branches/{branch_id}/functions (cursor-paginated) */
14
16
  list(projectId: string, branchId: string, query?: ListQuery, opts?: CallOptions): Paginated<NeonFunction>;
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","names":[],"sources":["../../../src/neon/resources/functions.ts"],"mappings":";;;;;;KAkBK,SAAA,GAAY,KAChB,YAAY;KAGR,WAAA,GAAc;AANqC;AAE1C,cAOD,SAPC,CAAA,eAAA,OAAA,CAAA,CAAA;EACD,CAAA,OAAA;EAAZ,WAAA,CAAA,GAAA,EASiB,cATjB;EADgB;EAAI,IAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAkBX,SAlBW,EAAA,IAAA,CAAA,EAmBZ,WAnBY,CAAA,EAoBjB,SApBiB,CAoBP,YApBO,CAAA;EAIhB;EAGQ,GAAA,CAAA,SAAS,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,EAoClB,OApCkB,CAoCV,OApCU,CAoCF,YApCE,EAoCY,MApCZ,CAAA,CAAA;EAAA,GAAA,CAAA,cAAA,OAAA,GAqCO,MArCP,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAyCd,WAzCc,CAyCF,KAzCE,CAAA,CAAA,EA0ClB,OA1CkB,CA0CV,OA1CU,CA0CF,YA1CE,EA0CY,KA1CZ,CAAA,CAAA;EAGJ;EAQR,MAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EA4DD,WA5DC,CAAA,EA6DN,OA7DM,CA6DE,OA7DF,CA6DU,YA7DV,EA6DwB,MA7DxB,CAAA,CAAA;EACD,MAAA,CAAA,cAAA,OAAA,GA6DuB,MA7DvB,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAiEA,WAjEA,EAAA,IAAA,EAkED,WAlEC,CAkEW,KAlEX,CAAA,CAAA,EAmEL,OAnEK,CAmEG,OAnEH,CAmEW,YAnEX,EAmEyB,KAnEzB,CAAA,CAAA;EACK;EAAV,MAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,EAiGA,OAjGA,CAiGQ,OAjGR,CAAA,IAAA,EAiGsB,MAjGtB,CAAA,CAAA;EAuBgB,MAAA,CAAA,cAAA,OAAA,GA2EY,MA3EZ,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EA+EZ,WA/EY,CA+EA,KA/EA,CAAA,CAAA,EAgFhB,OAhFgB,CAgFR,OAhFQ,CAAA,IAAA,EAgFM,KAhFN,CAAA,CAAA;EAAc;EAAtB,MAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EA0GF,qBA1GE,CAAA,EA2GR,OA3GQ,CA2GA,OA3GA,CA2GQ,sBA3GR,EA2GgC,MA3GhC,CAAA,CAAA;EAAR,MAAA,CAAA,cAAA,OAAA,GA4G4B,MA5G5B,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAgHK,qBAhHL,GAAA,SAAA,EAAA,IAAA,EAiHI,WAjHJ,CAiHgB,KAjHhB,CAAA,CAAA,EAkHA,OAlHA,CAkHQ,OAlHR,CAkHgB,sBAlHhB,EAkHwC,KAlHxC,CAAA,CAAA;AACyB"}
1
+ {"version":3,"file":"functions.d.ts","names":[],"sources":["../../../src/neon/resources/functions.ts"],"mappings":";;;;;;;KAmBK,SAAA,GAAY,KAChB,YAAY;KAGR,WAAA,GAAc;AANiC;AAEtC,cAOD,SAPC,CAAA,eAAA,OAAA,CAAA,CAAA;EACD,CAAA,OAAA;EAAZ,SAAA,aAAA,EAOwB,aAPxB,CAOsC,MAPtC,CAAA;EADgB,WAAA,CAAA,GAAA,EAWC,cAXD;EAAI;EAIhB,IAAA,CAAA,SAAW,EAAA,MAAA,EAAA,QAAG,EAAA,MAAA,EAAA,KAAyB,CAAzB,EAgBT,SAhBkC,EAAA,IAAA,CAAA,EAiBnC,WAjBmC,CAAA,EAkBxC,SAlBwC,CAkB9B,YAlB8B,CAAA;EAG/B;EAAS,GAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,EAsClB,OAtCkB,CAsCV,OAtCU,CAsCF,YAtCE,EAsCY,MAtCZ,CAAA,CAAA;EACiB,GAAA,CAAA,cAAA,OAAA,GAsCV,MAtCU,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EA0C/B,WA1C+B,CA0CnB,KA1CmB,CAAA,CAAA,EA2CnC,OA3CmC,CA2C3B,OA3C2B,CA2CnB,YA3CmB,EA2CL,KA3CK,CAAA,CAAA;EAAd;EAGP,MAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAqET,WArES,CAAA,EAsEd,OAtEc,CAsEN,OAtEM,CAsEE,YAtEF,EAsEgB,MAtEhB,CAAA,CAAA;EASR,MAAA,CAAA,cAAA,OAAA,GA8DsB,MA9DtB,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAkED,WAlEC,EAAA,IAAA,EAmEF,WAnEE,CAmEU,KAnEV,CAAA,CAAA,EAoEN,OApEM,CAoEE,OApEF,CAoEU,YApEV,EAoEwB,KApExB,CAAA,CAAA;EACD;EACK,MAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,EAiGV,OAjGU,CAiGF,OAjGE,CAAA,IAAA,EAiGY,MAjGZ,CAAA,CAAA;EAAV,MAAA,CAAA,cAAA,OAAA,GAkG4B,MAlG5B,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAsGI,WAtGJ,CAsGgB,KAtGhB,CAAA,CAAA,EAuGA,OAvGA,CAuGQ,OAvGR,CAAA,IAAA,EAuGsB,KAvGtB,CAAA,CAAA;EAuBgB;EAAc,MAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EA0GxB,qBA1GwB,CAAA,EA2G9B,OA3G8B,CA2GtB,OA3GsB,CA2Gd,sBA3Gc,EA2GU,MA3GV,CAAA,CAAA;EAAtB,MAAA,CAAA,cAAA,OAAA,GA4GoB,MA5GpB,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAgHH,qBAhHG,GAAA,SAAA,EAAA,IAAA,EAiHJ,WAjHI,CAiHQ,KAjHR,CAAA,CAAA,EAkHR,OAlHQ,CAkHA,OAlHA,CAkHQ,sBAlHR,EAkHgC,KAlHhC,CAAA,CAAA;AAAR"}
@@ -1,11 +1,14 @@
1
1
  import { createProjectBranchFunctionDeployment, deleteProjectBranchFunction, getProjectBranchFunction, listProjectBranchFunctions, updateProjectBranchFunction } from "../../client/sdk.gen.js";
2
2
  import { paginate } from "../paginate.js";
3
+ import { CustomDomains } from "./custom-domains.js";
3
4
  //#region src/neon/resources/functions.ts
4
5
  /** Branch-scoped Neon Functions. */
5
6
  var Functions = class {
7
+ customDomains;
6
8
  #ctx;
7
9
  constructor(ctx) {
8
10
  this.#ctx = ctx;
11
+ this.customDomains = new CustomDomains(ctx);
9
12
  }
10
13
  /** @apiCall GET /projects/{project_id}/branches/{branch_id}/functions (cursor-paginated) */
11
14
  list(projectId, branchId, query, opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","names":["#ctx"],"sources":["../../../src/neon/resources/functions.ts"],"sourcesContent":["import {\n\tcreateProjectBranchFunctionDeployment,\n\tdeleteProjectBranchFunction,\n\tgetProjectBranchFunction,\n\tlistProjectBranchFunctions,\n\tupdateProjectBranchFunction,\n} from \"../../client/sdk.gen.js\";\nimport type {\n\tFunctionDeployRequest,\n\tListProjectBranchFunctionsData,\n\tNeonFunction,\n\tNeonFunctionDeployment,\n\tNeonFunctionUpdateRequest,\n} from \"../../client/types.gen.js\";\nimport type { CallOptions, RequestContext } from \"../context.js\";\nimport { type Paginated, paginate } from \"../paginate.js\";\nimport type { NeonResult, Outcome } from \"../result.js\";\n\ntype ListQuery = Omit<\n\tNonNullable<ListProjectBranchFunctionsData[\"query\"]>,\n\t\"cursor\"\n>;\ntype UpdateInput = NeonFunctionUpdateRequest;\n\n/** Branch-scoped Neon Functions. */\nexport class Functions<DThrow extends boolean> {\n\treadonly #ctx: RequestContext;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/branches/{branch_id}/functions (cursor-paginated) */\n\tlist(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tquery?: ListQuery,\n\t\topts?: CallOptions,\n\t): Paginated<NeonFunction> {\n\t\treturn paginate(\n\t\t\t(cursor, signal) =>\n\t\t\t\tlistProjectBranchFunctions({\n\t\t\t\t\tclient: this.#ctx.client,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tquery: { ...query, cursor },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => ({\n\t\t\t\titems: data?.functions ?? [],\n\t\t\t\tcursor: data?.pagination?.next,\n\t\t\t}),\n\t\t\t() => this.#ctx.deadlineFor(opts),\n\t\t);\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/branches/{branch_id}/functions/{slug} */\n\tget(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t): Promise<Outcome<NeonFunction, DThrow>>;\n\tget<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<NeonFunction, Throw>>;\n\tget(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\topts?: CallOptions,\n\t): Promise<NeonFunction | NeonResult<NeonFunction>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgetProjectBranchFunction({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: {\n\t\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\t\tbranch_id: branchId,\n\t\t\t\t\t\tslug,\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.function,\n\t\t);\n\t}\n\n\t/** @apiCall PATCH /projects/{project_id}/branches/{branch_id}/functions/{slug} */\n\tupdate(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput: UpdateInput,\n\t): Promise<Outcome<NeonFunction, DThrow>>;\n\tupdate<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput: UpdateInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<NeonFunction, Throw>>;\n\tupdate(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput: UpdateInput,\n\t\topts?: CallOptions,\n\t): Promise<NeonFunction | NeonResult<NeonFunction>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tupdateProjectBranchFunction({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: {\n\t\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\t\tbranch_id: branchId,\n\t\t\t\t\t\tslug,\n\t\t\t\t\t},\n\t\t\t\t\tbody: input,\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.function,\n\t\t);\n\t}\n\n\t/** @apiCall DELETE /projects/{project_id}/branches/{branch_id}/functions/{slug} */\n\tdelete(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t): Promise<Outcome<void, DThrow>>;\n\tdelete<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\tdelete(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\treturn this.#ctx.runVoid(opts, (client, signal) =>\n\t\t\tdeleteProjectBranchFunction({\n\t\t\t\tclient,\n\t\t\t\tpath: {\n\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\tbranch_id: branchId,\n\t\t\t\t\tslug,\n\t\t\t\t},\n\t\t\t\tthrowOnError: false,\n\t\t\t\tsignal,\n\t\t\t}),\n\t\t);\n\t}\n\n\t/** @apiCall POST /projects/{project_id}/branches/{branch_id}/functions/{slug}/deployments */\n\tdeploy(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput?: FunctionDeployRequest,\n\t): Promise<Outcome<NeonFunctionDeployment, DThrow>>;\n\tdeploy<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput: FunctionDeployRequest | undefined,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<NeonFunctionDeployment, Throw>>;\n\tdeploy(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput?: FunctionDeployRequest,\n\t\topts?: CallOptions,\n\t): Promise<NeonFunctionDeployment | NeonResult<NeonFunctionDeployment>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tcreateProjectBranchFunctionDeployment({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: {\n\t\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\t\tbranch_id: branchId,\n\t\t\t\t\t\tslug,\n\t\t\t\t\t},\n\t\t\t\t\tbody: input ?? {},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.deployment,\n\t\t);\n\t}\n}\n"],"mappings":";;;;AAyBA,IAAa,YAAb,MAA+C;CAC9C;CAEA,YAAY,KAAqB;EAChC,KAAKA,OAAO;CACb;;CAGA,KACC,WACA,UACA,OACA,MAC0B;EAC1B,OAAO,UACL,QAAQ,WACR,2BAA2B;GAC1B,QAAQ,KAAKA,KAAK;GAClB,MAAM;IAAE,YAAY;IAAW,WAAW;GAAS;GACnD,OAAO;IAAE,GAAG;IAAO;GAAO;GAC1B,cAAc;GACd;EACD,CAAC,IACD,UAAU;GACV,OAAO,MAAM,aAAa,CAAC;GAC3B,QAAQ,MAAM,YAAY;EAC3B,UACM,KAAKA,KAAK,YAAY,IAAI,CACjC;CACD;CAcA,IACC,WACA,UACA,MACA,MACmD;EACnD,OAAO,KAAKA,KAAK,IAChB,OACC,QAAQ,WACR,yBAAyB;GACxB;GACA,MAAM;IACL,YAAY;IACZ,WAAW;IACX;GACD;GACA,cAAc;GACd;EACD,CAAC,IACD,SAAS,KAAK,QAChB;CACD;CAgBA,OACC,WACA,UACA,MACA,OACA,MACmD;EACnD,OAAO,KAAKA,KAAK,IAChB,OACC,QAAQ,WACR,4BAA4B;GAC3B;GACA,MAAM;IACL,YAAY;IACZ,WAAW;IACX;GACD;GACA,MAAM;GACN,cAAc;GACd;EACD,CAAC,IACD,SAAS,KAAK,QAChB;CACD;CAcA,OACC,WACA,UACA,MACA,MACmC;EACnC,OAAO,KAAKA,KAAK,QAAQ,OAAO,QAAQ,WACvC,4BAA4B;GAC3B;GACA,MAAM;IACL,YAAY;IACZ,WAAW;IACX;GACD;GACA,cAAc;GACd;EACD,CAAC,CACF;CACD;CAgBA,OACC,WACA,UACA,MACA,OACA,MACuE;EACvE,OAAO,KAAKA,KAAK,IAChB,OACC,QAAQ,WACR,sCAAsC;GACrC;GACA,MAAM;IACL,YAAY;IACZ,WAAW;IACX;GACD;GACA,MAAM,SAAS,CAAC;GAChB,cAAc;GACd;EACD,CAAC,IACD,SAAS,KAAK,UAChB;CACD;AACD"}
1
+ {"version":3,"file":"functions.js","names":["#ctx"],"sources":["../../../src/neon/resources/functions.ts"],"sourcesContent":["import {\n\tcreateProjectBranchFunctionDeployment,\n\tdeleteProjectBranchFunction,\n\tgetProjectBranchFunction,\n\tlistProjectBranchFunctions,\n\tupdateProjectBranchFunction,\n} from \"../../client/sdk.gen.js\";\nimport type {\n\tFunctionDeployRequest,\n\tListProjectBranchFunctionsData,\n\tNeonFunction,\n\tNeonFunctionDeployment,\n\tNeonFunctionUpdateRequest,\n} from \"../../client/types.gen.js\";\nimport type { CallOptions, RequestContext } from \"../context.js\";\nimport { type Paginated, paginate } from \"../paginate.js\";\nimport type { NeonResult, Outcome } from \"../result.js\";\nimport { CustomDomains } from \"./custom-domains.js\";\n\ntype ListQuery = Omit<\n\tNonNullable<ListProjectBranchFunctionsData[\"query\"]>,\n\t\"cursor\"\n>;\ntype UpdateInput = NeonFunctionUpdateRequest;\n\n/** Branch-scoped Neon Functions. */\nexport class Functions<DThrow extends boolean> {\n\treadonly customDomains: CustomDomains<DThrow>;\n\treadonly #ctx: RequestContext;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t\tthis.customDomains = new CustomDomains(ctx);\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/branches/{branch_id}/functions (cursor-paginated) */\n\tlist(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tquery?: ListQuery,\n\t\topts?: CallOptions,\n\t): Paginated<NeonFunction> {\n\t\treturn paginate(\n\t\t\t(cursor, signal) =>\n\t\t\t\tlistProjectBranchFunctions({\n\t\t\t\t\tclient: this.#ctx.client,\n\t\t\t\t\tpath: { project_id: projectId, branch_id: branchId },\n\t\t\t\t\tquery: { ...query, cursor },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => ({\n\t\t\t\titems: data?.functions ?? [],\n\t\t\t\tcursor: data?.pagination?.next,\n\t\t\t}),\n\t\t\t() => this.#ctx.deadlineFor(opts),\n\t\t);\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/branches/{branch_id}/functions/{slug} */\n\tget(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t): Promise<Outcome<NeonFunction, DThrow>>;\n\tget<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<NeonFunction, Throw>>;\n\tget(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\topts?: CallOptions,\n\t): Promise<NeonFunction | NeonResult<NeonFunction>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgetProjectBranchFunction({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: {\n\t\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\t\tbranch_id: branchId,\n\t\t\t\t\t\tslug,\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.function,\n\t\t);\n\t}\n\n\t/** @apiCall PATCH /projects/{project_id}/branches/{branch_id}/functions/{slug} */\n\tupdate(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput: UpdateInput,\n\t): Promise<Outcome<NeonFunction, DThrow>>;\n\tupdate<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput: UpdateInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<NeonFunction, Throw>>;\n\tupdate(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput: UpdateInput,\n\t\topts?: CallOptions,\n\t): Promise<NeonFunction | NeonResult<NeonFunction>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tupdateProjectBranchFunction({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: {\n\t\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\t\tbranch_id: branchId,\n\t\t\t\t\t\tslug,\n\t\t\t\t\t},\n\t\t\t\t\tbody: input,\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.function,\n\t\t);\n\t}\n\n\t/** @apiCall DELETE /projects/{project_id}/branches/{branch_id}/functions/{slug} */\n\tdelete(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t): Promise<Outcome<void, DThrow>>;\n\tdelete<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\tdelete(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\treturn this.#ctx.runVoid(opts, (client, signal) =>\n\t\t\tdeleteProjectBranchFunction({\n\t\t\t\tclient,\n\t\t\t\tpath: {\n\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\tbranch_id: branchId,\n\t\t\t\t\tslug,\n\t\t\t\t},\n\t\t\t\tthrowOnError: false,\n\t\t\t\tsignal,\n\t\t\t}),\n\t\t);\n\t}\n\n\t/** @apiCall POST /projects/{project_id}/branches/{branch_id}/functions/{slug}/deployments */\n\tdeploy(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput?: FunctionDeployRequest,\n\t): Promise<Outcome<NeonFunctionDeployment, DThrow>>;\n\tdeploy<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput: FunctionDeployRequest | undefined,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<NeonFunctionDeployment, Throw>>;\n\tdeploy(\n\t\tprojectId: string,\n\t\tbranchId: string,\n\t\tslug: string,\n\t\tinput?: FunctionDeployRequest,\n\t\topts?: CallOptions,\n\t): Promise<NeonFunctionDeployment | NeonResult<NeonFunctionDeployment>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tcreateProjectBranchFunctionDeployment({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: {\n\t\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\t\tbranch_id: branchId,\n\t\t\t\t\t\tslug,\n\t\t\t\t\t},\n\t\t\t\t\tbody: input ?? {},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.deployment,\n\t\t);\n\t}\n}\n"],"mappings":";;;;;AA0BA,IAAa,YAAb,MAA+C;CAC9C;CACA;CAEA,YAAY,KAAqB;EAChC,KAAKA,OAAO;EACZ,KAAK,gBAAgB,IAAI,cAAc,GAAG;CAC3C;;CAGA,KACC,WACA,UACA,OACA,MAC0B;EAC1B,OAAO,UACL,QAAQ,WACR,2BAA2B;GAC1B,QAAQ,KAAKA,KAAK;GAClB,MAAM;IAAE,YAAY;IAAW,WAAW;GAAS;GACnD,OAAO;IAAE,GAAG;IAAO;GAAO;GAC1B,cAAc;GACd;EACD,CAAC,IACD,UAAU;GACV,OAAO,MAAM,aAAa,CAAC;GAC3B,QAAQ,MAAM,YAAY;EAC3B,UACM,KAAKA,KAAK,YAAY,IAAI,CACjC;CACD;CAcA,IACC,WACA,UACA,MACA,MACmD;EACnD,OAAO,KAAKA,KAAK,IAChB,OACC,QAAQ,WACR,yBAAyB;GACxB;GACA,MAAM;IACL,YAAY;IACZ,WAAW;IACX;GACD;GACA,cAAc;GACd;EACD,CAAC,IACD,SAAS,KAAK,QAChB;CACD;CAgBA,OACC,WACA,UACA,MACA,OACA,MACmD;EACnD,OAAO,KAAKA,KAAK,IAChB,OACC,QAAQ,WACR,4BAA4B;GAC3B;GACA,MAAM;IACL,YAAY;IACZ,WAAW;IACX;GACD;GACA,MAAM;GACN,cAAc;GACd;EACD,CAAC,IACD,SAAS,KAAK,QAChB;CACD;CAcA,OACC,WACA,UACA,MACA,MACmC;EACnC,OAAO,KAAKA,KAAK,QAAQ,OAAO,QAAQ,WACvC,4BAA4B;GAC3B;GACA,MAAM;IACL,YAAY;IACZ,WAAW;IACX;GACD;GACA,cAAc;GACd;EACD,CAAC,CACF;CACD;CAgBA,OACC,WACA,UACA,MACA,OACA,MACuE;EACvE,OAAO,KAAKA,KAAK,IAChB,OACC,QAAQ,WACR,sCAAsC;GACrC;GACA,MAAM;IACL,YAAY;IACZ,WAAW;IACX;GACD;GACA,MAAM,SAAS,CAAC;GAChB,cAAc;GACd;EACD,CAAC,IACD,SAAS,KAAK,UAChB;CACD;AACD"}
@@ -113,7 +113,12 @@ declare class Projects<DThrow extends boolean> {
113
113
  /** @apiCall GET /projects/{project_id} */
114
114
  get(id: string): Promise<Outcome<Project, DThrow>>;
115
115
  get<Throw extends boolean = DThrow>(id: string, opts: CallOptions<Throw>): Promise<Outcome<Project, Throw>>;
116
- /** @apiCall POST /projects */
116
+ /**
117
+ * The API provides no way to skip the default branch or read-write compute.
118
+ * This method retains its project-only result; use
119
+ * {@link Projects.createAndConnect} or `postgres.connectionString` when a
120
+ * connection string is needed.
121
+ */
117
122
  create(input?: CreateInput): Promise<Outcome<Project, DThrow>>;
118
123
  create<Throw extends boolean = DThrow>(input: CreateInput | undefined, opts: CallOptions<Throw>): Promise<Outcome<Project, Throw>>;
119
124
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","names":[],"sources":["../../../src/neon/resources/projects.ts"],"mappings":"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"}
1
+ {"version":3,"file":"projects.d.ts","names":[],"sources":["../../../src/neon/resources/projects.ts"],"mappings":";;;;;;;UAmCiB,qBAAA;EAAA;EAQZ,SAAA,CAAA,EAAS,MAAA;EAAA;EAAoB,OAAA,EAAA,MAAA;EAAZ,UAAA,EAAA,MAAA,EAAA;AAAL;AAAI,KAAhB,SAAA,GAAY,IAAI,CAAC,WAAD,CAAa,gBAAb,CAAA,OAAA,CAAA,CAAA,EAAA,QAAA,CAAA;AAAA,KAChB,WAAA,GAAc,oBAAA,CAAA,SAAA,CAAA;AAAoB,KAClC,WAAA,GAAc,oBAAA,CAAA,SAAA,CAAA;AAAoB,KAClC,eAAA,GAAkB,IAAH,CACnB,WADmB,CACP,sBADO,CAAA,OAAA,CAAA,CAAA,EAAA,QAAA,CAAA;AAAA;AACP,UAKI,cALJ,CAAA,cAAA,OAAA,GAAA,OAAA,CAAA,SAMJ,WANI,CAMQ,KANR,CAAA,CAAA;EAAZ;AADsB;AAAI;AAM3B;EAA+B,mBAAA,CAAA,EAAA,OAAA;AACV;AAAZ;AAAW,UASH,iBATG,CAAA,cAAA,OAAA,GAAA,OAAA,CAAA,SAUX,WAVW,CAUC,KAVD,CAAA,CAAA;EASH;AAAiB;AACb;AAAZ;EAAW,kBAAA,CAAA,EAAA,OAAA;AAMnB;AAGwB;AAA4C,UAA3D,eAA2D,CAAA,cAAA,OAAA,CAAA,SAAZ,WAAY,CAAA,KAAA,CAAA,CAAA;EAAZ;EAAW,MAAA,CAAA,EAAA,OAAA;AAMpE;AAMA;AAAwB,UANP,iBAAA,CAMO;EAGN,OAAA,EARR,OAQQ;EAKwB,gBAAA,EAAA,MAAA;AAAqB;AAA7B;AAAR,cARb,WAQa,CAAA,eAAA,OAAA,CAAA,CAAA;EACI,CAAA,OAAA;EAEV,WAAA,CAAA,GAAA,EARF,cAQE;EAAZ;EACY,IAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAJM,OAIN,CAJc,OAId,CAJsB,iBAItB,EAAA,EAJ2C,MAI3C,CAAA,CAAA;EAAqB,IAAA,CAAA,cAAA,OAAA,GAHX,MAGW,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,IAAA,EADjC,WACiC,CADrB,KACqB,CAAA,CAAA,EAArC,OAAqC,CAA7B,OAA6B,CAArB,iBAAqB,EAAA,EAAA,KAAA,CAAA,CAAA;EAA7B;EAAR,KAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EAsBA,OAtBA,CAsBQ,OAtBR,CAsBgB,iBAtBhB,EAsBmC,MAtBnC,CAAA,CAAA;EAsBgB,KAAA,CAAA,cAAA,OAAA,GACW,MADX,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAIZ,WAJY,CAIA,KAJA,CAAA,CAAA,EAKhB,OALgB,CAKR,OALQ,CAKA,iBALA,EAKmB,KALnB,CAAA,CAAA;EAAmB;EAA3B,MAAA,CAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EA6BR,OA7BQ,CA6BA,OA7BA,CA6BQ,iBA7BR,EA6B2B,MA7B3B,CAAA,CAAA;EAAR,MAAA,CAAA,cAAA,OAAA,GA8B4B,MA9B5B,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,IAAA,EAiCI,WAjCJ,CAiCgB,KAjChB,CAAA,CAAA,EAkCA,OAlCA,CAkCQ,OAlCR,CAkCgB,iBAlChB,EAkCmC,KAlCnC,CAAA,CAAA;AAC2B;AAGX;AAAZ;AACY;AAAmB;AAA3B;AAAR;AAwBgB;AAAmB;AAA3B,cAoCC,OApCD,CAAA,eAAA,OAAA,CAAA,CAAA;EAAR,CAAA,OAAA;EAC4B,WAAA,CAAA,GAAA,EAsCd,cAtCc;EAGZ;AAAZ;AACY;AAAmB;AAA3B;AAAR;AAAO;EA+BE,IAAA,CAAA,SAAO,EAAA,MAAA,EAAA,KAAA,CAAA,EAgBV,eAhBU,EAAA,IAAA,CAAA,EAiBX,WAjBW,CAAA,EAkBhB,SAlBgB,CAkBN,aAlBM,CAAA;EAAA;AAGF;AAaR;AACD;AACK;AAAV;AA6BI;AACY;EAA2B,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EADvC,WACuC,CAAA,EAA3C,OAA2C,CAAnC,OAAmC,CAA3B,yBAA2B,EAAA,MAAA,CAAA,CAAA;EAAnC,OAAA,CAAA,cAAA,OAAA,GACqB,MADrB,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAIJ,WAJI,EAAA,IAAA,EAKJ,cALI,CAKW,KALX,CAAA,CAAA,EAMR,OANQ,CAMA,OANA,CAMQ,yBANR,EAMmC,KANnC,CAAA,CAAA;EAAR;AAC6B;AAGzB;AACe;AAAf;AACY;AAA2B;EAAnC,UAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAoCR,OApCQ,CAoCA,OApCA,CAoCQ,yBApCR,EAoCmC,MApCnC,CAAA,CAAA;EAAR,UAAA,CAAA,cAAA,OAAA,GAqCgC,MArChC,CAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAwCI,iBAxCJ,CAwCsB,KAxCtB,CAAA,CAAA,EAyCA,OAzCA,CAyCQ,OAzCR,CAyCgB,yBAzChB,EAyC2C,KAzC3C,CAAA,CAAA;AAoCgB;AAA2B;AAAnC,cA+BC,QA/BD,CAAA,eAAA,OAAA,CAAA,CAAA;EAAR,CAAA,OAAA;EACgC;EAGV,SAAA,WAAA,EA8BH,WA9BG,CA8BS,MA9BT,CAAA;EAAlB;EACY,SAAA,OAAA,EA+BD,OA/BC,CA+BO,MA/BP,CAAA;EAA2B,WAAA,CAAA,GAAA,EAiC7B,cAjC6B;EAAnC;AAAR;AAAO;AA0BX;AAAqB;AAGc;EAAZ,IAAA,CAAA,KAAA,CAAA,EAgBT,SAhBS,EAAA,IAAA,CAAA,EAgBS,WAhBT,CAAA,EAgBuB,SAhBvB,CAgBiC,eAhBjC,CAAA;EAEI;EAAR,GAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EAoCD,OApCC,CAoCO,OApCP,CAoCe,OApCf,EAoCwB,MApCxB,CAAA,CAAA;EAED,GAAA,CAAA,cAAA,OAAA,GAmCW,MAnCX,CAAA,CAAA,EAAA,EAAA,MAAA,EAAA,IAAA,EAqCV,WArCU,CAqCE,KArCF,CAAA,CAAA,EAsCd,OAtCc,CAsCN,OAtCM,CAsCE,OAtCF,EAsCW,KAtCX,CAAA,CAAA;EAYJ;AAAkB;AAAwB;AAAV;AAsBZ;AAAS;EAAjB,MAAA,CAAA,KAAA,CAAA,EA4BV,WA5BU,CAAA,EA4BI,OA5BJ,CA4BY,OA5BZ,CA4BoB,OA5BpB,EA4B6B,MA5B7B,CAAA,CAAA;EAAR,MAAA,CAAA,cAAA,OAAA,GA6Bc,MA7Bd,CAAA,CAAA,KAAA,EA8BT,WA9BS,GAAA,SAAA,EAAA,IAAA,EA+BV,WA/BU,CA+BE,KA/BF,CAAA,CAAA,EAgCd,OAhCc,CAgCN,OAhCM,CAgCE,OAhCF,EAgCW,KAhCX,CAAA,CAAA;EACW;AAET;AAAZ;AACY;AAAS;AAAjB;AAAR;EAwBY,gBAAA,CAAA,KAAA,CAAA,EAwCN,WAxCM,CAAA,EAyCZ,OAzCY,CAyCJ,OAzCI,CAyCI,iBAzCJ,EAyCuB,MAzCvB,CAAA,CAAA;EAA8B,gBAAA,CAAA,cAAA,OAAA,GA0CJ,MA1CI,CAAA,CAAA,KAAA,EA2CrC,WA3CqC,GAAA,SAAA,EAAA,IAAA,EA4CtC,eA5CsC,CA4CtB,KA5CsB,CAAA,CAAA,EA6C1C,OA7C0C,CA6ClC,OA7CkC,CA6C1B,iBA7C0B,EA6CP,KA7CO,CAAA,CAAA;EAAS;EAAjB,MAAA,CAAA,EAAA,EAAA,MAAA,EAAA,KAAA,EAmFX,WAnFW,CAAA,EAmFG,OAnFH,CAmFW,OAnFX,CAmFmB,OAnFnB,EAmF4B,MAnF5B,CAAA,CAAA;EAAR,MAAA,CAAA,cAAA,OAAA,GAoFE,MApFF,CAAA,CAAA,EAAA,EAAA,MAAA,EAAA,KAAA,EAsFrB,WAtFqB,EAAA,IAAA,EAuFtB,WAvFsB,CAuFV,KAvFU,CAAA,CAAA,EAwF1B,OAxF0B,CAwFlB,OAxFkB,CAwFV,OAxFU,EAwFD,KAxFC,CAAA,CAAA;EACE;EACvB,MAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EA2GY,OA3GZ,CA2GoB,OA3GpB,CA2G4B,OA3G5B,EA2GqC,MA3GrC,CAAA,CAAA;EACW,MAAA,CAAA,cAAA,OAAA,GA2GY,MA3GZ,CAAA,CAAA,EAAA,EAAA,MAAA,EAAA,IAAA,EA6GZ,WA7GY,CA6GA,KA7GA,CAAA,CAAA,EA8GhB,OA9GgB,CA8GR,OA9GQ,CA8GA,OA9GA,EA8GS,KA9GT,CAAA,CAAA;EAAZ;AACY;AAAS;AAAjB;AAAR;EAoCM,OAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EAgGY,OAhGZ,CAgGoB,OAhGpB,CAgG4B,OAhG5B,EAgGqC,MAhGrC,CAAA,CAAA;EACU,OAAA,CAAA,cAAA,OAAA,GAgGa,MAhGb,CAAA,CAAA,EAAA,EAAA,MAAA,EAAA,IAAA,EAkGZ,WAlGY,CAkGA,KAlGA,CAAA,CAAA,EAmGhB,OAnGgB,CAmGR,OAnGQ,CAmGA,OAnGA,EAmGS,KAnGT,CAAA,CAAA;EAAmB;AAA3B;AAAR;AACsC;AACjC;AACe;EAAhB,QAAA,CAAA,KAAA,EAwHS,qBAxHT,CAAA,EAwHiC,OAxHjC,CAwHyC,OAxHzC,CAAA,IAAA,EAwHuD,MAxHvD,CAAA,CAAA;EACY,QAAA,CAAA,cAAA,OAAA,GAwHc,MAxHd,CAAA,CAAA,KAAA,EAyHX,qBAzHW,EAAA,IAAA,EA0HZ,WA1HY,CA0HA,KA1HA,CAAA,CAAA,EA2HhB,OA3HgB,CA2HR,OA3HQ,CAAA,IAAA,EA2HM,KA3HN,CAAA,CAAA;EAAmB;AAA3B;AAAR;AAsCuB;AAA8B;EAAS,gBAAA,CAAA,KAAA,EAAA;IAAjB,OAAA,EAAA,MAAA;IAAR,UAAA,EAAA,MAAA,EAAA;EACT,CAAA,CAAA,EAgI3B,OAhI2B,CAgInB,OAhImB,CAAA,IAAA,EAgIL,MAhIK,CAAA,CAAA;EAEvB,gBAAA,CAAA,cAAA,OAAA,GA+HiC,MA/HjC,CAAA,CAAA,KAAA,EAAA;IACW,OAAA,EAAA,MAAA;IAAZ,UAAA,EAAA,MAAA,EAAA;EACY,CAAA,EAAA,IAAA,EA+HZ,WA/HY,CA+HA,KA/HA,CAAA,CAAA,EAgIhB,OAhIgB,CAgIR,OAhIQ,CAAA,IAAA,EAgIM,KAhIN,CAAA,CAAA;AAAS"}
@@ -142,7 +142,10 @@ var Projects = class {
142
142
  }), (data) => data.project);
143
143
  }
144
144
  create(input, opts) {
145
- return this.#ctx.run(opts, (client, signal) => createProject({
145
+ return this.#ctx.run({
146
+ ...opts,
147
+ waitForReadiness: opts?.waitForReadiness ?? true
148
+ }, (client, signal) => createProject({
146
149
  client,
147
150
  body: { project: {
148
151
  ...this.#ctx.defaults.orgId ? { org_id: this.#ctx.defaults.orgId } : {},
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","names":["#ctx"],"sources":["../../../src/neon/resources/projects.ts"],"sourcesContent":["import {\n\tcreateProject,\n\tdeleteProject,\n\tgetProject,\n\tgrantPermissionToProject,\n\tlistProjectMembers,\n\tlistProjectPermissions,\n\tlistProjects,\n\trecoverProject,\n\tremoveProjectMemberRole,\n\trevokePermissionFromProject,\n\tsetProjectMemberRole,\n\ttransferProjectsFromOrgToOrg,\n\ttransferProjectsFromUserToOrg,\n\tupdateProject,\n} from \"../../client/sdk.gen.js\";\nimport type {\n\tListProjectMembersData,\n\tListProjectsData,\n\tProject,\n\tProjectCreateRequest,\n\tProjectListItem,\n\tProjectMember,\n\tProjectMemberRoleResponse,\n\tProjectPermission,\n\tProjectRole,\n\tProjectUpdateRequest,\n} from \"../../client/types.gen.js\";\nimport { withConnectionString } from \"../connection.js\";\nimport type { CallOptions, RequestContext } from \"../context.js\";\nimport { NeonError } from \"../errors.js\";\nimport { type Paginated, paginate } from \"../paginate.js\";\nimport { err, finalize, type NeonResult, type Outcome } from \"../result.js\";\n\n/** Input for {@link Projects.transfer} (org → org). */\nexport interface TransferProjectsInput {\n\t/** Source org. Defaults to the client's `orgId`. */\n\tfromOrgId?: string;\n\t/** Destination org. */\n\ttoOrgId: string;\n\tprojectIds: string[];\n}\n\ntype ListQuery = Omit<NonNullable<ListProjectsData[\"query\"]>, \"cursor\">;\ntype CreateInput = ProjectCreateRequest[\"project\"];\ntype UpdateInput = ProjectUpdateRequest[\"project\"];\ntype MemberListQuery = Omit<\n\tNonNullable<ListProjectMembersData[\"query\"]>,\n\t\"cursor\"\n>;\n\n/** Per-call options for {@link Members.setRole}. */\nexport interface SetRoleOptions<Throw extends boolean = boolean>\n\textends CallOptions<Throw> {\n\t/**\n\t * Acknowledge that the call lowers the caller's own role. The API rejects a\n\t * self-demotion without it, so it is left off by default.\n\t */\n\tconfirmSelfDemotion?: boolean;\n}\n\n/** Per-call options for {@link Members.removeRole}. */\nexport interface RemoveRoleOptions<Throw extends boolean = boolean>\n\textends CallOptions<Throw> {\n\t/**\n\t * Acknowledge that the call can cost the caller management access. The API\n\t * rejects such a self-removal without it, so it is left off by default.\n\t */\n\tconfirmSelfLockout?: boolean;\n}\n\n/** Per-call options for the connect workflow. */\ninterface WorkflowOptions<Throw extends boolean> extends CallOptions<Throw> {\n\t/** Return a pooled connection string (default `true`). */\n\tpooled?: boolean;\n}\n\n/** A project with a ready-to-use connection string to its default branch. */\nexport interface ProjectConnection {\n\tproject: Project;\n\tconnectionString: string;\n}\n\n/** Project access grants (share a project with additional users by email). */\nexport class Permissions<DThrow extends boolean> {\n\treadonly #ctx: RequestContext;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/permissions */\n\tlist(projectId: string): Promise<Outcome<ProjectPermission[], DThrow>>;\n\tlist<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<ProjectPermission[], Throw>>;\n\tlist(\n\t\tprojectId: string,\n\t\topts?: CallOptions,\n\t): Promise<ProjectPermission[] | NeonResult<ProjectPermission[]>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tlistProjectPermissions({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project_permissions,\n\t\t);\n\t}\n\n\t/** @apiCall POST /projects/{project_id}/permissions */\n\tgrant(\n\t\tprojectId: string,\n\t\temail: string,\n\t): Promise<Outcome<ProjectPermission, DThrow>>;\n\tgrant<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\temail: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<ProjectPermission, Throw>>;\n\tgrant(\n\t\tprojectId: string,\n\t\temail: string,\n\t\topts?: CallOptions,\n\t): Promise<ProjectPermission | NeonResult<ProjectPermission>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgrantPermissionToProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tbody: { email },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n\n\t/** @apiCall DELETE /projects/{project_id}/permissions/{permission_id} */\n\trevoke(\n\t\tprojectId: string,\n\t\tpermissionId: string,\n\t): Promise<Outcome<ProjectPermission, DThrow>>;\n\trevoke<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tpermissionId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<ProjectPermission, Throw>>;\n\trevoke(\n\t\tprojectId: string,\n\t\tpermissionId: string,\n\t\topts?: CallOptions,\n\t): Promise<ProjectPermission | NeonResult<ProjectPermission>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\trevokePermissionFromProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: {\n\t\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\t\tpermission_id: permissionId,\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n}\n\n/**\n * Per-project roles for members of the owning organization.\n *\n * Distinct from {@link Permissions}, which shares a project with an individual by\n * email address: these act on existing org members by member id, and clearing a\n * grant leaves the member's organization-role default in force rather than\n * removing their access.\n */\nexport class Members<DThrow extends boolean> {\n\treadonly #ctx: RequestContext;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\t/**\n\t * List org members and their project roles (cursor-paginated). Org-owned\n\t * projects only — a personal project answers `404`, as does an org with\n\t * per-project role management disabled.\n\t *\n\t * @apiCall GET /projects/{project_id}/members (cursor-paginated)\n\t */\n\tlist(\n\t\tprojectId: string,\n\t\tquery?: MemberListQuery,\n\t\topts?: CallOptions,\n\t): Paginated<ProjectMember> {\n\t\treturn paginate(\n\t\t\t(cursor, signal) =>\n\t\t\t\tlistProjectMembers({\n\t\t\t\t\tclient: this.#ctx.client,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tquery: { ...query, cursor },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => ({\n\t\t\t\titems: data?.project_members ?? [],\n\t\t\t\tcursor: data?.pagination?.next,\n\t\t\t}),\n\t\t\t() => this.#ctx.deadlineFor(opts),\n\t\t);\n\t}\n\n\t/**\n\t * Set a member's explicit project role, replacing any existing grant.\n\t * Idempotent. Check `credential_rotation_recommended` and\n\t * `org_api_key_rotation_recommended` on the result — a downgrade can leave\n\t * credentials the member still holds.\n\t *\n\t * @apiCall PUT /projects/{project_id}/members/{member_id}/role\n\t */\n\tsetRole(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t\trole: ProjectRole,\n\t): Promise<Outcome<ProjectMemberRoleResponse, DThrow>>;\n\tsetRole<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t\trole: ProjectRole,\n\t\topts: SetRoleOptions<Throw>,\n\t): Promise<Outcome<ProjectMemberRoleResponse, Throw>>;\n\tsetRole(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t\trole: ProjectRole,\n\t\topts?: SetRoleOptions<boolean>,\n\t): Promise<\n\t\tProjectMemberRoleResponse | NeonResult<ProjectMemberRoleResponse>\n\t> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tsetProjectMemberRole({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, member_id: memberId },\n\t\t\t\t\tquery: opts?.confirmSelfDemotion\n\t\t\t\t\t\t? { confirm_self_demotion: true }\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tbody: { role },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n\n\t/**\n\t * Clear a member's explicit project grant. Idempotent, and a no-op when no\n\t * explicit grant exists. The member keeps whatever their organization role\n\t * grants by default, so this narrows access rather than removing it.\n\t *\n\t * @apiCall DELETE /projects/{project_id}/members/{member_id}/role\n\t */\n\tremoveRole(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t): Promise<Outcome<ProjectMemberRoleResponse, DThrow>>;\n\tremoveRole<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t\topts: RemoveRoleOptions<Throw>,\n\t): Promise<Outcome<ProjectMemberRoleResponse, Throw>>;\n\tremoveRole(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t\topts?: RemoveRoleOptions<boolean>,\n\t): Promise<\n\t\tProjectMemberRoleResponse | NeonResult<ProjectMemberRoleResponse>\n\t> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tremoveProjectMemberRole({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, member_id: memberId },\n\t\t\t\t\tquery: opts?.confirmSelfLockout\n\t\t\t\t\t\t? { confirm_self_lockout: true }\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n}\n\n/** Project resource — one API call per method (`list` is cursor-paginated). */\nexport class Projects<DThrow extends boolean> {\n\treadonly #ctx: RequestContext;\n\t/** Project access grants (share by email). */\n\treadonly permissions: Permissions<DThrow>;\n\t/** Per-project roles for members of the owning organization. */\n\treadonly members: Members<DThrow>;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t\tthis.permissions = new Permissions<DThrow>(ctx);\n\t\tthis.members = new Members<DThrow>(ctx);\n\t}\n\n\t/**\n\t * List projects (cursor-paginated). Returns a lazy list — `await .all()`, `.page()`,\n\t * or `for await (… of …)`.\n\t *\n\t * @apiCall GET /projects\n\t */\n\tlist(query?: ListQuery, opts?: CallOptions): Paginated<ProjectListItem> {\n\t\treturn paginate(\n\t\t\t(cursor, signal) =>\n\t\t\t\tlistProjects({\n\t\t\t\t\tclient: this.#ctx.client,\n\t\t\t\t\tquery: {\n\t\t\t\t\t\torg_id: this.#ctx.defaults.orgId,\n\t\t\t\t\t\t...query,\n\t\t\t\t\t\tcursor,\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => ({\n\t\t\t\titems: data?.projects ?? [],\n\t\t\t\tcursor: data?.pagination?.cursor,\n\t\t\t}),\n\t\t\t() => this.#ctx.deadlineFor(opts),\n\t\t);\n\t}\n\n\t/** @apiCall GET /projects/{project_id} */\n\tget(id: string): Promise<Outcome<Project, DThrow>>;\n\tget<Throw extends boolean = DThrow>(\n\t\tid: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Project, Throw>>;\n\tget(\n\t\tid: string,\n\t\topts?: CallOptions,\n\t): Promise<Project | NeonResult<Project>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgetProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: id },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project,\n\t\t);\n\t}\n\n\t/** @apiCall POST /projects */\n\tcreate(input?: CreateInput): Promise<Outcome<Project, DThrow>>;\n\tcreate<Throw extends boolean = DThrow>(\n\t\tinput: CreateInput | undefined,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Project, Throw>>;\n\tcreate(\n\t\tinput?: CreateInput,\n\t\topts?: CallOptions,\n\t): Promise<Project | NeonResult<Project>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tcreateProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tproject: {\n\t\t\t\t\t\t\t...(this.#ctx.defaults.orgId\n\t\t\t\t\t\t\t\t? { org_id: this.#ctx.defaults.orgId }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...input,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project,\n\t\t);\n\t}\n\n\t/**\n\t * Create a project and return a ready-to-use connection string to its default branch.\n\t * One API call plus readiness polling (the create response already carries the\n\t * connection URI).\n\t *\n\t * @workflow createProject + waitForReadiness\n\t */\n\tcreateAndConnect(\n\t\tinput?: CreateInput,\n\t): Promise<Outcome<ProjectConnection, DThrow>>;\n\tcreateAndConnect<Throw extends boolean = DThrow>(\n\t\tinput: CreateInput | undefined,\n\t\topts: WorkflowOptions<Throw>,\n\t): Promise<Outcome<ProjectConnection, Throw>>;\n\tasync createAndConnect(\n\t\tinput?: CreateInput,\n\t\topts?: WorkflowOptions<boolean>,\n\t): Promise<ProjectConnection | NeonResult<ProjectConnection>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst result = await this.#ctx.execute(\n\t\t\t{ ...opts, waitForReadiness: opts?.waitForReadiness ?? true },\n\t\t\t(client, signal) =>\n\t\t\t\tcreateProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tproject: {\n\t\t\t\t\t\t\t...(this.#ctx.defaults.orgId\n\t\t\t\t\t\t\t\t? { org_id: this.#ctx.defaults.orgId }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...input,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t\tconst out = withConnectionString(\n\t\t\tresult,\n\t\t\t(data) => data.connection_uris,\n\t\t\t(data, connectionString) => ({\n\t\t\t\tproject: data.project,\n\t\t\t\tconnectionString,\n\t\t\t}),\n\t\t\topts?.pooled ?? true,\n\t\t);\n\t\treturn finalize(out, shouldThrow);\n\t}\n\n\t/** @apiCall PATCH /projects/{project_id} */\n\tupdate(id: string, input: UpdateInput): Promise<Outcome<Project, DThrow>>;\n\tupdate<Throw extends boolean = DThrow>(\n\t\tid: string,\n\t\tinput: UpdateInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Project, Throw>>;\n\tupdate(\n\t\tid: string,\n\t\tinput: UpdateInput,\n\t\topts?: CallOptions,\n\t): Promise<Project | NeonResult<Project>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tupdateProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: id },\n\t\t\t\t\tbody: { project: input },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project,\n\t\t);\n\t}\n\n\t/** @apiCall DELETE /projects/{project_id} */\n\tdelete(id: string): Promise<Outcome<Project, DThrow>>;\n\tdelete<Throw extends boolean = DThrow>(\n\t\tid: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Project, Throw>>;\n\tdelete(\n\t\tid: string,\n\t\topts?: CallOptions,\n\t): Promise<Project | NeonResult<Project>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tdeleteProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: id },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project,\n\t\t);\n\t}\n\n\t/**\n\t * Recover a soft-deleted project within its retention window (beta).\n\t *\n\t * @apiCall POST /projects/{project_id}/recover\n\t */\n\trecover(id: string): Promise<Outcome<Project, DThrow>>;\n\trecover<Throw extends boolean = DThrow>(\n\t\tid: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Project, Throw>>;\n\trecover(\n\t\tid: string,\n\t\topts?: CallOptions,\n\t): Promise<Project | NeonResult<Project>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\trecoverProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: id },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project,\n\t\t);\n\t}\n\n\t/**\n\t * Transfer projects from one organization to another (e.g. sponsored → paid). The\n\t * source org defaults to the client's `orgId`. Requires a key with access to both orgs.\n\t *\n\t * @apiCall POST /organizations/{source_org_id}/projects/transfer\n\t */\n\ttransfer(input: TransferProjectsInput): Promise<Outcome<void, DThrow>>;\n\ttransfer<Throw extends boolean = DThrow>(\n\t\tinput: TransferProjectsInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\tasync transfer(\n\t\tinput: TransferProjectsInput,\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst fromOrgId = input.fromOrgId ?? this.#ctx.defaults.orgId;\n\t\tif (!fromOrgId) {\n\t\t\treturn finalize(\n\t\t\t\terr<void>(\n\t\t\t\t\tnew NeonError(\n\t\t\t\t\t\t\"Pass fromOrgId or set orgId on the client.\",\n\t\t\t\t\t\t\"client\",\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tshouldThrow,\n\t\t\t);\n\t\t}\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\ttransferProjectsFromOrgToOrg({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { source_org_id: fromOrgId },\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tdestination_org_id: input.toOrgId,\n\t\t\t\t\t\tproject_ids: input.projectIds,\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t() => undefined,\n\t\t);\n\t}\n\n\t/**\n\t * Transfer projects from the personal account to an organization.\n\t *\n\t * @apiCall POST /users/me/projects/transfer\n\t */\n\ttransferFromUser(input: {\n\t\ttoOrgId: string;\n\t\tprojectIds: string[];\n\t}): Promise<Outcome<void, DThrow>>;\n\ttransferFromUser<Throw extends boolean = DThrow>(\n\t\tinput: { toOrgId: string; projectIds: string[] },\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\ttransferFromUser(\n\t\tinput: { toOrgId: string; projectIds: string[] },\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\ttransferProjectsFromUserToOrg({\n\t\t\t\t\tclient,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tdestination_org_id: input.toOrgId,\n\t\t\t\t\t\tproject_ids: input.projectIds,\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t() => undefined,\n\t\t);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"projects.js","names":["#ctx"],"sources":["../../../src/neon/resources/projects.ts"],"sourcesContent":["import {\n\tcreateProject,\n\tdeleteProject,\n\tgetProject,\n\tgrantPermissionToProject,\n\tlistProjectMembers,\n\tlistProjectPermissions,\n\tlistProjects,\n\trecoverProject,\n\tremoveProjectMemberRole,\n\trevokePermissionFromProject,\n\tsetProjectMemberRole,\n\ttransferProjectsFromOrgToOrg,\n\ttransferProjectsFromUserToOrg,\n\tupdateProject,\n} from \"../../client/sdk.gen.js\";\nimport type {\n\tListProjectMembersData,\n\tListProjectsData,\n\tProject,\n\tProjectCreateRequest,\n\tProjectListItem,\n\tProjectMember,\n\tProjectMemberRoleResponse,\n\tProjectPermission,\n\tProjectRole,\n\tProjectUpdateRequest,\n} from \"../../client/types.gen.js\";\nimport { withConnectionString } from \"../connection.js\";\nimport type { CallOptions, RequestContext } from \"../context.js\";\nimport { NeonError } from \"../errors.js\";\nimport { type Paginated, paginate } from \"../paginate.js\";\nimport { err, finalize, type NeonResult, type Outcome } from \"../result.js\";\n\n/** Input for {@link Projects.transfer} (org → org). */\nexport interface TransferProjectsInput {\n\t/** Source org. Defaults to the client's `orgId`. */\n\tfromOrgId?: string;\n\t/** Destination org. */\n\ttoOrgId: string;\n\tprojectIds: string[];\n}\n\ntype ListQuery = Omit<NonNullable<ListProjectsData[\"query\"]>, \"cursor\">;\ntype CreateInput = ProjectCreateRequest[\"project\"];\ntype UpdateInput = ProjectUpdateRequest[\"project\"];\ntype MemberListQuery = Omit<\n\tNonNullable<ListProjectMembersData[\"query\"]>,\n\t\"cursor\"\n>;\n\n/** Per-call options for {@link Members.setRole}. */\nexport interface SetRoleOptions<Throw extends boolean = boolean>\n\textends CallOptions<Throw> {\n\t/**\n\t * Acknowledge that the call lowers the caller's own role. The API rejects a\n\t * self-demotion without it, so it is left off by default.\n\t */\n\tconfirmSelfDemotion?: boolean;\n}\n\n/** Per-call options for {@link Members.removeRole}. */\nexport interface RemoveRoleOptions<Throw extends boolean = boolean>\n\textends CallOptions<Throw> {\n\t/**\n\t * Acknowledge that the call can cost the caller management access. The API\n\t * rejects such a self-removal without it, so it is left off by default.\n\t */\n\tconfirmSelfLockout?: boolean;\n}\n\n/** Per-call options for the connect workflow. */\ninterface WorkflowOptions<Throw extends boolean> extends CallOptions<Throw> {\n\t/** Return a pooled connection string (default `true`). */\n\tpooled?: boolean;\n}\n\n/** A project with a ready-to-use connection string to its default branch. */\nexport interface ProjectConnection {\n\tproject: Project;\n\tconnectionString: string;\n}\n\n/** Project access grants (share a project with additional users by email). */\nexport class Permissions<DThrow extends boolean> {\n\treadonly #ctx: RequestContext;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\t/** @apiCall GET /projects/{project_id}/permissions */\n\tlist(projectId: string): Promise<Outcome<ProjectPermission[], DThrow>>;\n\tlist<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<ProjectPermission[], Throw>>;\n\tlist(\n\t\tprojectId: string,\n\t\topts?: CallOptions,\n\t): Promise<ProjectPermission[] | NeonResult<ProjectPermission[]>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tlistProjectPermissions({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project_permissions,\n\t\t);\n\t}\n\n\t/** @apiCall POST /projects/{project_id}/permissions */\n\tgrant(\n\t\tprojectId: string,\n\t\temail: string,\n\t): Promise<Outcome<ProjectPermission, DThrow>>;\n\tgrant<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\temail: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<ProjectPermission, Throw>>;\n\tgrant(\n\t\tprojectId: string,\n\t\temail: string,\n\t\topts?: CallOptions,\n\t): Promise<ProjectPermission | NeonResult<ProjectPermission>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgrantPermissionToProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tbody: { email },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n\n\t/** @apiCall DELETE /projects/{project_id}/permissions/{permission_id} */\n\trevoke(\n\t\tprojectId: string,\n\t\tpermissionId: string,\n\t): Promise<Outcome<ProjectPermission, DThrow>>;\n\trevoke<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tpermissionId: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<ProjectPermission, Throw>>;\n\trevoke(\n\t\tprojectId: string,\n\t\tpermissionId: string,\n\t\topts?: CallOptions,\n\t): Promise<ProjectPermission | NeonResult<ProjectPermission>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\trevokePermissionFromProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: {\n\t\t\t\t\t\tproject_id: projectId,\n\t\t\t\t\t\tpermission_id: permissionId,\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n}\n\n/**\n * Per-project roles for members of the owning organization.\n *\n * Distinct from {@link Permissions}, which shares a project with an individual by\n * email address: these act on existing org members by member id, and clearing a\n * grant leaves the member's organization-role default in force rather than\n * removing their access.\n */\nexport class Members<DThrow extends boolean> {\n\treadonly #ctx: RequestContext;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\t/**\n\t * List org members and their project roles (cursor-paginated). Org-owned\n\t * projects only — a personal project answers `404`, as does an org with\n\t * per-project role management disabled.\n\t *\n\t * @apiCall GET /projects/{project_id}/members (cursor-paginated)\n\t */\n\tlist(\n\t\tprojectId: string,\n\t\tquery?: MemberListQuery,\n\t\topts?: CallOptions,\n\t): Paginated<ProjectMember> {\n\t\treturn paginate(\n\t\t\t(cursor, signal) =>\n\t\t\t\tlistProjectMembers({\n\t\t\t\t\tclient: this.#ctx.client,\n\t\t\t\t\tpath: { project_id: projectId },\n\t\t\t\t\tquery: { ...query, cursor },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => ({\n\t\t\t\titems: data?.project_members ?? [],\n\t\t\t\tcursor: data?.pagination?.next,\n\t\t\t}),\n\t\t\t() => this.#ctx.deadlineFor(opts),\n\t\t);\n\t}\n\n\t/**\n\t * Set a member's explicit project role, replacing any existing grant.\n\t * Idempotent. Check `credential_rotation_recommended` and\n\t * `org_api_key_rotation_recommended` on the result — a downgrade can leave\n\t * credentials the member still holds.\n\t *\n\t * @apiCall PUT /projects/{project_id}/members/{member_id}/role\n\t */\n\tsetRole(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t\trole: ProjectRole,\n\t): Promise<Outcome<ProjectMemberRoleResponse, DThrow>>;\n\tsetRole<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t\trole: ProjectRole,\n\t\topts: SetRoleOptions<Throw>,\n\t): Promise<Outcome<ProjectMemberRoleResponse, Throw>>;\n\tsetRole(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t\trole: ProjectRole,\n\t\topts?: SetRoleOptions<boolean>,\n\t): Promise<\n\t\tProjectMemberRoleResponse | NeonResult<ProjectMemberRoleResponse>\n\t> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tsetProjectMemberRole({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, member_id: memberId },\n\t\t\t\t\tquery: opts?.confirmSelfDemotion\n\t\t\t\t\t\t? { confirm_self_demotion: true }\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tbody: { role },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n\n\t/**\n\t * Clear a member's explicit project grant. Idempotent, and a no-op when no\n\t * explicit grant exists. The member keeps whatever their organization role\n\t * grants by default, so this narrows access rather than removing it.\n\t *\n\t * @apiCall DELETE /projects/{project_id}/members/{member_id}/role\n\t */\n\tremoveRole(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t): Promise<Outcome<ProjectMemberRoleResponse, DThrow>>;\n\tremoveRole<Throw extends boolean = DThrow>(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t\topts: RemoveRoleOptions<Throw>,\n\t): Promise<Outcome<ProjectMemberRoleResponse, Throw>>;\n\tremoveRole(\n\t\tprojectId: string,\n\t\tmemberId: string,\n\t\topts?: RemoveRoleOptions<boolean>,\n\t): Promise<\n\t\tProjectMemberRoleResponse | NeonResult<ProjectMemberRoleResponse>\n\t> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tremoveProjectMemberRole({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: projectId, member_id: memberId },\n\t\t\t\t\tquery: opts?.confirmSelfLockout\n\t\t\t\t\t\t? { confirm_self_lockout: true }\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t}\n}\n\n/** Project resource — one API call per method (`list` is cursor-paginated). */\nexport class Projects<DThrow extends boolean> {\n\treadonly #ctx: RequestContext;\n\t/** Project access grants (share by email). */\n\treadonly permissions: Permissions<DThrow>;\n\t/** Per-project roles for members of the owning organization. */\n\treadonly members: Members<DThrow>;\n\n\tconstructor(ctx: RequestContext) {\n\t\tthis.#ctx = ctx;\n\t\tthis.permissions = new Permissions<DThrow>(ctx);\n\t\tthis.members = new Members<DThrow>(ctx);\n\t}\n\n\t/**\n\t * List projects (cursor-paginated). Returns a lazy list — `await .all()`, `.page()`,\n\t * or `for await (… of …)`.\n\t *\n\t * @apiCall GET /projects\n\t */\n\tlist(query?: ListQuery, opts?: CallOptions): Paginated<ProjectListItem> {\n\t\treturn paginate(\n\t\t\t(cursor, signal) =>\n\t\t\t\tlistProjects({\n\t\t\t\t\tclient: this.#ctx.client,\n\t\t\t\t\tquery: {\n\t\t\t\t\t\torg_id: this.#ctx.defaults.orgId,\n\t\t\t\t\t\t...query,\n\t\t\t\t\t\tcursor,\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => ({\n\t\t\t\titems: data?.projects ?? [],\n\t\t\t\tcursor: data?.pagination?.cursor,\n\t\t\t}),\n\t\t\t() => this.#ctx.deadlineFor(opts),\n\t\t);\n\t}\n\n\t/** @apiCall GET /projects/{project_id} */\n\tget(id: string): Promise<Outcome<Project, DThrow>>;\n\tget<Throw extends boolean = DThrow>(\n\t\tid: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Project, Throw>>;\n\tget(\n\t\tid: string,\n\t\topts?: CallOptions,\n\t): Promise<Project | NeonResult<Project>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tgetProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: id },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project,\n\t\t);\n\t}\n\n\t/**\n\t * The API provides no way to skip the default branch or read-write compute.\n\t * This method retains its project-only result; use\n\t * {@link Projects.createAndConnect} or `postgres.connectionString` when a\n\t * connection string is needed.\n\t */\n\tcreate(input?: CreateInput): Promise<Outcome<Project, DThrow>>;\n\tcreate<Throw extends boolean = DThrow>(\n\t\tinput: CreateInput | undefined,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Project, Throw>>;\n\tcreate(\n\t\tinput?: CreateInput,\n\t\topts?: CallOptions,\n\t): Promise<Project | NeonResult<Project>> {\n\t\treturn this.#ctx.run(\n\t\t\t{\n\t\t\t\t...opts,\n\t\t\t\twaitForReadiness: opts?.waitForReadiness ?? true,\n\t\t\t},\n\t\t\t(client, signal) =>\n\t\t\t\tcreateProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tproject: {\n\t\t\t\t\t\t\t...(this.#ctx.defaults.orgId\n\t\t\t\t\t\t\t\t? { org_id: this.#ctx.defaults.orgId }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...input,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project,\n\t\t);\n\t}\n\n\t/**\n\t * Create a project and return a ready-to-use connection string to its default branch.\n\t * One API call plus readiness polling (the create response already carries the\n\t * connection URI).\n\t *\n\t * @workflow createProject + waitForReadiness\n\t */\n\tcreateAndConnect(\n\t\tinput?: CreateInput,\n\t): Promise<Outcome<ProjectConnection, DThrow>>;\n\tcreateAndConnect<Throw extends boolean = DThrow>(\n\t\tinput: CreateInput | undefined,\n\t\topts: WorkflowOptions<Throw>,\n\t): Promise<Outcome<ProjectConnection, Throw>>;\n\tasync createAndConnect(\n\t\tinput?: CreateInput,\n\t\topts?: WorkflowOptions<boolean>,\n\t): Promise<ProjectConnection | NeonResult<ProjectConnection>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst result = await this.#ctx.execute(\n\t\t\t{ ...opts, waitForReadiness: opts?.waitForReadiness ?? true },\n\t\t\t(client, signal) =>\n\t\t\t\tcreateProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tproject: {\n\t\t\t\t\t\t\t...(this.#ctx.defaults.orgId\n\t\t\t\t\t\t\t\t? { org_id: this.#ctx.defaults.orgId }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...input,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data,\n\t\t);\n\t\tconst out = withConnectionString(\n\t\t\tresult,\n\t\t\t(data) => data.connection_uris,\n\t\t\t(data, connectionString) => ({\n\t\t\t\tproject: data.project,\n\t\t\t\tconnectionString,\n\t\t\t}),\n\t\t\topts?.pooled ?? true,\n\t\t);\n\t\treturn finalize(out, shouldThrow);\n\t}\n\n\t/** @apiCall PATCH /projects/{project_id} */\n\tupdate(id: string, input: UpdateInput): Promise<Outcome<Project, DThrow>>;\n\tupdate<Throw extends boolean = DThrow>(\n\t\tid: string,\n\t\tinput: UpdateInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Project, Throw>>;\n\tupdate(\n\t\tid: string,\n\t\tinput: UpdateInput,\n\t\topts?: CallOptions,\n\t): Promise<Project | NeonResult<Project>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tupdateProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: id },\n\t\t\t\t\tbody: { project: input },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project,\n\t\t);\n\t}\n\n\t/** @apiCall DELETE /projects/{project_id} */\n\tdelete(id: string): Promise<Outcome<Project, DThrow>>;\n\tdelete<Throw extends boolean = DThrow>(\n\t\tid: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Project, Throw>>;\n\tdelete(\n\t\tid: string,\n\t\topts?: CallOptions,\n\t): Promise<Project | NeonResult<Project>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\tdeleteProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: id },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project,\n\t\t);\n\t}\n\n\t/**\n\t * Recover a soft-deleted project within its retention window (beta).\n\t *\n\t * @apiCall POST /projects/{project_id}/recover\n\t */\n\trecover(id: string): Promise<Outcome<Project, DThrow>>;\n\trecover<Throw extends boolean = DThrow>(\n\t\tid: string,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<Project, Throw>>;\n\trecover(\n\t\tid: string,\n\t\topts?: CallOptions,\n\t): Promise<Project | NeonResult<Project>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\trecoverProject({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { project_id: id },\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t(data) => data.project,\n\t\t);\n\t}\n\n\t/**\n\t * Transfer projects from one organization to another (e.g. sponsored → paid). The\n\t * source org defaults to the client's `orgId`. Requires a key with access to both orgs.\n\t *\n\t * @apiCall POST /organizations/{source_org_id}/projects/transfer\n\t */\n\ttransfer(input: TransferProjectsInput): Promise<Outcome<void, DThrow>>;\n\ttransfer<Throw extends boolean = DThrow>(\n\t\tinput: TransferProjectsInput,\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\tasync transfer(\n\t\tinput: TransferProjectsInput,\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\tconst shouldThrow =\n\t\t\topts?.throwOnError ?? this.#ctx.defaults.throwOnError;\n\t\tconst fromOrgId = input.fromOrgId ?? this.#ctx.defaults.orgId;\n\t\tif (!fromOrgId) {\n\t\t\treturn finalize(\n\t\t\t\terr<void>(\n\t\t\t\t\tnew NeonError(\n\t\t\t\t\t\t\"Pass fromOrgId or set orgId on the client.\",\n\t\t\t\t\t\t\"client\",\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tshouldThrow,\n\t\t\t);\n\t\t}\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\ttransferProjectsFromOrgToOrg({\n\t\t\t\t\tclient,\n\t\t\t\t\tpath: { source_org_id: fromOrgId },\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tdestination_org_id: input.toOrgId,\n\t\t\t\t\t\tproject_ids: input.projectIds,\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t() => undefined,\n\t\t);\n\t}\n\n\t/**\n\t * Transfer projects from the personal account to an organization.\n\t *\n\t * @apiCall POST /users/me/projects/transfer\n\t */\n\ttransferFromUser(input: {\n\t\ttoOrgId: string;\n\t\tprojectIds: string[];\n\t}): Promise<Outcome<void, DThrow>>;\n\ttransferFromUser<Throw extends boolean = DThrow>(\n\t\tinput: { toOrgId: string; projectIds: string[] },\n\t\topts: CallOptions<Throw>,\n\t): Promise<Outcome<void, Throw>>;\n\ttransferFromUser(\n\t\tinput: { toOrgId: string; projectIds: string[] },\n\t\topts?: CallOptions,\n\t): Promise<void | NeonResult<void>> {\n\t\treturn this.#ctx.run(\n\t\t\topts,\n\t\t\t(client, signal) =>\n\t\t\t\ttransferProjectsFromUserToOrg({\n\t\t\t\t\tclient,\n\t\t\t\t\tbody: {\n\t\t\t\t\t\tdestination_org_id: input.toOrgId,\n\t\t\t\t\t\tproject_ids: input.projectIds,\n\t\t\t\t\t},\n\t\t\t\t\tthrowOnError: false,\n\t\t\t\t\tsignal,\n\t\t\t\t}),\n\t\t\t() => undefined,\n\t\t);\n\t}\n}\n"],"mappings":"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"}