@distilled.cloud/neon 0.17.0 → 0.18.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 (41) hide show
  1. package/lib/operations/deleteOrganizationSpendingLimit.d.ts +21 -0
  2. package/lib/operations/deleteOrganizationSpendingLimit.d.ts.map +1 -0
  3. package/lib/operations/deleteOrganizationSpendingLimit.js +31 -0
  4. package/lib/operations/deleteOrganizationSpendingLimit.js.map +1 -0
  5. package/lib/operations/getNeonAuthPhoneNumberPlugin.d.ts +30 -0
  6. package/lib/operations/getNeonAuthPhoneNumberPlugin.d.ts.map +1 -0
  7. package/lib/operations/getNeonAuthPhoneNumberPlugin.js +35 -0
  8. package/lib/operations/getNeonAuthPhoneNumberPlugin.js.map +1 -0
  9. package/lib/operations/getOrganizationSpendingLimit.d.ts +25 -0
  10. package/lib/operations/getOrganizationSpendingLimit.d.ts.map +1 -0
  11. package/lib/operations/getOrganizationSpendingLimit.js +33 -0
  12. package/lib/operations/getOrganizationSpendingLimit.js.map +1 -0
  13. package/lib/operations/recoverProjectBranch.d.ts +188 -0
  14. package/lib/operations/recoverProjectBranch.d.ts.map +1 -0
  15. package/lib/operations/recoverProjectBranch.js +113 -0
  16. package/lib/operations/recoverProjectBranch.js.map +1 -0
  17. package/lib/operations/setOrganizationSpendingLimit.d.ts +28 -0
  18. package/lib/operations/setOrganizationSpendingLimit.d.ts.map +1 -0
  19. package/lib/operations/setOrganizationSpendingLimit.js +35 -0
  20. package/lib/operations/setOrganizationSpendingLimit.js.map +1 -0
  21. package/lib/operations/updateNeonAuthConfig.d.ts +28 -0
  22. package/lib/operations/updateNeonAuthConfig.d.ts.map +1 -0
  23. package/lib/operations/updateNeonAuthConfig.js +33 -0
  24. package/lib/operations/updateNeonAuthConfig.js.map +1 -0
  25. package/lib/operations/updateNeonAuthMagicLinkPlugin.d.ts +36 -0
  26. package/lib/operations/updateNeonAuthMagicLinkPlugin.d.ts.map +1 -0
  27. package/lib/operations/updateNeonAuthMagicLinkPlugin.js +38 -0
  28. package/lib/operations/updateNeonAuthMagicLinkPlugin.js.map +1 -0
  29. package/lib/operations/updateNeonAuthPhoneNumberPlugin.d.ts +38 -0
  30. package/lib/operations/updateNeonAuthPhoneNumberPlugin.d.ts.map +1 -0
  31. package/lib/operations/updateNeonAuthPhoneNumberPlugin.js +40 -0
  32. package/lib/operations/updateNeonAuthPhoneNumberPlugin.js.map +1 -0
  33. package/package.json +2 -2
  34. package/src/operations/deleteOrganizationSpendingLimit.ts +39 -0
  35. package/src/operations/getNeonAuthPhoneNumberPlugin.ts +43 -0
  36. package/src/operations/getOrganizationSpendingLimit.ts +41 -0
  37. package/src/operations/recoverProjectBranch.ts +141 -0
  38. package/src/operations/setOrganizationSpendingLimit.ts +43 -0
  39. package/src/operations/updateNeonAuthConfig.ts +41 -0
  40. package/src/operations/updateNeonAuthMagicLinkPlugin.ts +46 -0
  41. package/src/operations/updateNeonAuthPhoneNumberPlugin.ts +48 -0
@@ -0,0 +1,33 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { API } from "../client.js";
3
+ import * as T from "../traits.js";
4
+ // Input Schema
5
+ export const UpdateNeonAuthConfigInput =
6
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
7
+ project_id: Schema.String.pipe(T.PathParam()),
8
+ branch_id: Schema.String.pipe(T.PathParam()),
9
+ name: Schema.String,
10
+ }).pipe(T.Http({
11
+ method: "PATCH",
12
+ path: "/projects/{project_id}/branches/{branch_id}/auth/config",
13
+ }));
14
+ // Output Schema
15
+ export const UpdateNeonAuthConfigOutput =
16
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
17
+ name: Schema.String,
18
+ });
19
+ // The operation
20
+ /**
21
+ * Update auth configuration
22
+ *
23
+ * Updates the auth configuration for the branch.
24
+ * Currently supports updating the application name used in auth emails.
25
+ *
26
+ * @param project_id - The Neon project ID
27
+ * @param branch_id - The Neon branch ID
28
+ */
29
+ export const updateNeonAuthConfig = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
30
+ inputSchema: UpdateNeonAuthConfigInput,
31
+ outputSchema: UpdateNeonAuthConfigOutput,
32
+ }));
33
+ //# sourceMappingURL=updateNeonAuthConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateNeonAuthConfig.js","sourceRoot":"","sources":["../../src/operations/updateNeonAuthConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,eAAe;AACf,MAAM,CAAC,MAAM,yBAAyB;AACpC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CAAC,CAAC,IAAI,CACL,CAAC,CAAC,IAAI,CAAC;IACL,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,yDAAyD;CAChE,CAAC,CACH,CAAC;AAGJ,gBAAgB;AAChB,MAAM,CAAC,MAAM,0BAA0B;AACrC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CAAC,CAAC;AAGL,gBAAgB;AAChB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CACtE,GAAG,EAAE,CAAC,CAAC;IACL,WAAW,EAAE,yBAAyB;IACtC,YAAY,EAAE,0BAA0B;CACzC,CAAC,CACH,CAAC"}
@@ -0,0 +1,36 @@
1
+ import * as Schema from "effect/Schema";
2
+ export declare const UpdateNeonAuthMagicLinkPluginInput: Schema.Struct<{
3
+ readonly project_id: Schema.String;
4
+ readonly branch_id: Schema.String;
5
+ readonly enabled: Schema.optional<Schema.Boolean>;
6
+ readonly expires_in: Schema.optional<Schema.Number>;
7
+ readonly disable_sign_up: Schema.optional<Schema.Boolean>;
8
+ }>;
9
+ export type UpdateNeonAuthMagicLinkPluginInput = typeof UpdateNeonAuthMagicLinkPluginInput.Type;
10
+ export declare const UpdateNeonAuthMagicLinkPluginOutput: Schema.Struct<{
11
+ readonly enabled: Schema.Boolean;
12
+ readonly expires_in: Schema.Number;
13
+ readonly disable_sign_up: Schema.Boolean;
14
+ }>;
15
+ export type UpdateNeonAuthMagicLinkPluginOutput = typeof UpdateNeonAuthMagicLinkPluginOutput.Type;
16
+ /**
17
+ * Update magic link plugin configuration
18
+ *
19
+ * Updates the magic link plugin configuration for Neon Auth.
20
+ * The magic link plugin enables passwordless authentication via email magic links.
21
+ *
22
+ * @param project_id - The Neon project ID
23
+ * @param branch_id - The Neon branch ID
24
+ */
25
+ export declare const updateNeonAuthMagicLinkPlugin: import("@distilled.cloud/core/client").OperationMethod<{
26
+ readonly branch_id: string;
27
+ readonly disable_sign_up?: boolean | undefined;
28
+ readonly enabled?: boolean | undefined;
29
+ readonly expires_in?: number | undefined;
30
+ readonly project_id: string;
31
+ }, {
32
+ readonly disable_sign_up: boolean;
33
+ readonly enabled: boolean;
34
+ readonly expires_in: number;
35
+ }, never, import("../credentials.ts").Credentials>;
36
+ //# sourceMappingURL=updateNeonAuthMagicLinkPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateNeonAuthMagicLinkPlugin.d.ts","sourceRoot":"","sources":["../../src/operations/updateNeonAuthMagicLinkPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,eAAO,MAAM,kCAAkC;;;;;;EAY5C,CAAC;AACJ,MAAM,MAAM,kCAAkC,GAC5C,OAAO,kCAAkC,CAAC,IAAI,CAAC;AAGjD,eAAO,MAAM,mCAAmC;;;;EAK5C,CAAC;AACL,MAAM,MAAM,mCAAmC,GAC7C,OAAO,mCAAmC,CAAC,IAAI,CAAC;AAGlD;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;kDAIrC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { API } from "../client.js";
3
+ import * as T from "../traits.js";
4
+ // Input Schema
5
+ export const UpdateNeonAuthMagicLinkPluginInput =
6
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
7
+ project_id: Schema.String.pipe(T.PathParam()),
8
+ branch_id: Schema.String.pipe(T.PathParam()),
9
+ enabled: Schema.optional(Schema.Boolean),
10
+ expires_in: Schema.optional(Schema.Number),
11
+ disable_sign_up: Schema.optional(Schema.Boolean),
12
+ }).pipe(T.Http({
13
+ method: "PATCH",
14
+ path: "/projects/{project_id}/branches/{branch_id}/auth/plugins/magic-link",
15
+ }));
16
+ // Output Schema
17
+ export const UpdateNeonAuthMagicLinkPluginOutput =
18
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
19
+ enabled: Schema.Boolean,
20
+ expires_in: Schema.Number,
21
+ disable_sign_up: Schema.Boolean,
22
+ });
23
+ // The operation
24
+ /**
25
+ * Update magic link plugin configuration
26
+ *
27
+ * Updates the magic link plugin configuration for Neon Auth.
28
+ * The magic link plugin enables passwordless authentication via email magic links.
29
+ *
30
+ * @param project_id - The Neon project ID
31
+ * @param branch_id - The Neon branch ID
32
+ */
33
+ export const updateNeonAuthMagicLinkPlugin =
34
+ /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
35
+ inputSchema: UpdateNeonAuthMagicLinkPluginInput,
36
+ outputSchema: UpdateNeonAuthMagicLinkPluginOutput,
37
+ }));
38
+ //# sourceMappingURL=updateNeonAuthMagicLinkPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateNeonAuthMagicLinkPlugin.js","sourceRoot":"","sources":["../../src/operations/updateNeonAuthMagicLinkPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,eAAe;AACf,MAAM,CAAC,MAAM,kCAAkC;AAC7C,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;CACjD,CAAC,CAAC,IAAI,CACL,CAAC,CAAC,IAAI,CAAC;IACL,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,qEAAqE;CAC5E,CAAC,CACH,CAAC;AAIJ,gBAAgB;AAChB,MAAM,CAAC,MAAM,mCAAmC;AAC9C,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,eAAe,EAAE,MAAM,CAAC,OAAO;CAChC,CAAC,CAAC;AAIL,gBAAgB;AAChB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,6BAA6B;AACxC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,WAAW,EAAE,kCAAkC;IAC/C,YAAY,EAAE,mCAAmC;CAClD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import * as Schema from "effect/Schema";
2
+ export declare const UpdateNeonAuthPhoneNumberPluginInput: Schema.Struct<{
3
+ readonly project_id: Schema.String;
4
+ readonly branch_id: Schema.String;
5
+ readonly enabled: Schema.Boolean;
6
+ readonly otp_expires_in: Schema.optional<Schema.Number>;
7
+ readonly allowed_attempts: Schema.optional<Schema.Number>;
8
+ }>;
9
+ export type UpdateNeonAuthPhoneNumberPluginInput = typeof UpdateNeonAuthPhoneNumberPluginInput.Type;
10
+ export declare const UpdateNeonAuthPhoneNumberPluginOutput: Schema.Struct<{
11
+ readonly enabled: Schema.Boolean;
12
+ readonly otp_expires_in: Schema.optional<Schema.Number>;
13
+ readonly allowed_attempts: Schema.optional<Schema.Number>;
14
+ }>;
15
+ export type UpdateNeonAuthPhoneNumberPluginOutput = typeof UpdateNeonAuthPhoneNumberPluginOutput.Type;
16
+ /**
17
+ * Update phone number plugin configuration
18
+ *
19
+ * Updates the phone number plugin configuration for Neon Auth.
20
+ * The phone number plugin enables phone-based OTP authentication.
21
+ * OTP codes are delivered via the `send.otp` webhook event with `delivery_preference: "sms"`.
22
+ * A webhook must be configured with the `send.otp` event enabled for SMS delivery to work.
23
+ *
24
+ * @param project_id - The Neon project ID
25
+ * @param branch_id - The Neon branch ID
26
+ */
27
+ export declare const updateNeonAuthPhoneNumberPlugin: import("@distilled.cloud/core/client").OperationMethod<{
28
+ readonly allowed_attempts?: number | undefined;
29
+ readonly branch_id: string;
30
+ readonly enabled: boolean;
31
+ readonly otp_expires_in?: number | undefined;
32
+ readonly project_id: string;
33
+ }, {
34
+ readonly allowed_attempts?: number | undefined;
35
+ readonly enabled: boolean;
36
+ readonly otp_expires_in?: number | undefined;
37
+ }, never, import("../credentials.ts").Credentials>;
38
+ //# sourceMappingURL=updateNeonAuthPhoneNumberPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateNeonAuthPhoneNumberPlugin.d.ts","sourceRoot":"","sources":["../../src/operations/updateNeonAuthPhoneNumberPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,eAAO,MAAM,oCAAoC;;;;;;EAY9C,CAAC;AACJ,MAAM,MAAM,oCAAoC,GAC9C,OAAO,oCAAoC,CAAC,IAAI,CAAC;AAGnD,eAAO,MAAM,qCAAqC;;;;EAK9C,CAAC;AACL,MAAM,MAAM,qCAAqC,GAC/C,OAAO,qCAAqC,CAAC,IAAI,CAAC;AAGpD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;kDAIvC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { API } from "../client.js";
3
+ import * as T from "../traits.js";
4
+ // Input Schema
5
+ export const UpdateNeonAuthPhoneNumberPluginInput =
6
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
7
+ project_id: Schema.String.pipe(T.PathParam()),
8
+ branch_id: Schema.String.pipe(T.PathParam()),
9
+ enabled: Schema.Boolean,
10
+ otp_expires_in: Schema.optional(Schema.Number),
11
+ allowed_attempts: Schema.optional(Schema.Number),
12
+ }).pipe(T.Http({
13
+ method: "PUT",
14
+ path: "/projects/{project_id}/branches/{branch_id}/auth/plugins/phone_number",
15
+ }));
16
+ // Output Schema
17
+ export const UpdateNeonAuthPhoneNumberPluginOutput =
18
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
19
+ enabled: Schema.Boolean,
20
+ otp_expires_in: Schema.optional(Schema.Number),
21
+ allowed_attempts: Schema.optional(Schema.Number),
22
+ });
23
+ // The operation
24
+ /**
25
+ * Update phone number plugin configuration
26
+ *
27
+ * Updates the phone number plugin configuration for Neon Auth.
28
+ * The phone number plugin enables phone-based OTP authentication.
29
+ * OTP codes are delivered via the `send.otp` webhook event with `delivery_preference: "sms"`.
30
+ * A webhook must be configured with the `send.otp` event enabled for SMS delivery to work.
31
+ *
32
+ * @param project_id - The Neon project ID
33
+ * @param branch_id - The Neon branch ID
34
+ */
35
+ export const updateNeonAuthPhoneNumberPlugin =
36
+ /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
37
+ inputSchema: UpdateNeonAuthPhoneNumberPluginInput,
38
+ outputSchema: UpdateNeonAuthPhoneNumberPluginOutput,
39
+ }));
40
+ //# sourceMappingURL=updateNeonAuthPhoneNumberPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateNeonAuthPhoneNumberPlugin.js","sourceRoot":"","sources":["../../src/operations/updateNeonAuthPhoneNumberPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,eAAe;AACf,MAAM,CAAC,MAAM,oCAAoC;AAC/C,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9C,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACjD,CAAC,CAAC,IAAI,CACL,CAAC,CAAC,IAAI,CAAC;IACL,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,uEAAuE;CAC9E,CAAC,CACH,CAAC;AAIJ,gBAAgB;AAChB,MAAM,CAAC,MAAM,qCAAqC;AAChD,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9C,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACjD,CAAC,CAAC;AAIL,gBAAgB;AAChB;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,+BAA+B;AAC1C,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,WAAW,EAAE,oCAAoC;IACjD,YAAY,EAAE,qCAAqC;CACpD,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@distilled.cloud/neon",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/alchemy-run/distilled",
@@ -74,7 +74,7 @@
74
74
  "specs:update": "git -C specs/distilled-spec-neon fetch && git -C specs/distilled-spec-neon checkout main && git -C specs/distilled-spec-neon pull"
75
75
  },
76
76
  "dependencies": {
77
- "@distilled.cloud/core": "0.17.0"
77
+ "@distilled.cloud/core": "0.18.0"
78
78
  },
79
79
  "devDependencies": {
80
80
  "@types/bun": "^1.3.0",
@@ -0,0 +1,39 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { API } from "../client.ts";
3
+ import * as T from "../traits.ts";
4
+
5
+ // Input Schema
6
+ export const DeleteOrganizationSpendingLimitInput =
7
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
8
+ org_id: Schema.String.pipe(T.PathParam()),
9
+ }).pipe(
10
+ T.Http({
11
+ method: "DELETE",
12
+ path: "/organizations/{org_id}/billing/spending_limit",
13
+ }),
14
+ );
15
+ export type DeleteOrganizationSpendingLimitInput =
16
+ typeof DeleteOrganizationSpendingLimitInput.Type;
17
+
18
+ // Output Schema
19
+ export const DeleteOrganizationSpendingLimitOutput =
20
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({});
21
+ export type DeleteOrganizationSpendingLimitOutput =
22
+ typeof DeleteOrganizationSpendingLimitOutput.Type;
23
+
24
+ // The operation
25
+ /**
26
+ * Clear the organization's monthly spending limit
27
+ *
28
+ * Removes a previously configured spending limit for a V3 paid
29
+ * organization. Idempotent — deleting an already-unset limit still
30
+ * succeeds. Available to organization admins on Launch and Scale plans
31
+ * only.
32
+ *
33
+ * @param org_id - The Neon organization ID
34
+ */
35
+ export const deleteOrganizationSpendingLimit =
36
+ /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
37
+ inputSchema: DeleteOrganizationSpendingLimitInput,
38
+ outputSchema: DeleteOrganizationSpendingLimitOutput,
39
+ }));
@@ -0,0 +1,43 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { API } from "../client.ts";
3
+ import * as T from "../traits.ts";
4
+
5
+ // Input Schema
6
+ export const GetNeonAuthPhoneNumberPluginInput =
7
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
8
+ project_id: Schema.String.pipe(T.PathParam()),
9
+ branch_id: Schema.String.pipe(T.PathParam()),
10
+ }).pipe(
11
+ T.Http({
12
+ method: "GET",
13
+ path: "/projects/{project_id}/branches/{branch_id}/auth/plugins/phone_number",
14
+ }),
15
+ );
16
+ export type GetNeonAuthPhoneNumberPluginInput =
17
+ typeof GetNeonAuthPhoneNumberPluginInput.Type;
18
+
19
+ // Output Schema
20
+ export const GetNeonAuthPhoneNumberPluginOutput =
21
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
22
+ enabled: Schema.Boolean,
23
+ otp_expires_in: Schema.optional(Schema.Number),
24
+ allowed_attempts: Schema.optional(Schema.Number),
25
+ });
26
+ export type GetNeonAuthPhoneNumberPluginOutput =
27
+ typeof GetNeonAuthPhoneNumberPluginOutput.Type;
28
+
29
+ // The operation
30
+ /**
31
+ * Get phone number plugin configuration
32
+ *
33
+ * Returns the phone number plugin configuration for Neon Auth.
34
+ * The phone number plugin enables phone-based OTP authentication.
35
+ *
36
+ * @param project_id - The Neon project ID
37
+ * @param branch_id - The Neon branch ID
38
+ */
39
+ export const getNeonAuthPhoneNumberPlugin =
40
+ /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
41
+ inputSchema: GetNeonAuthPhoneNumberPluginInput,
42
+ outputSchema: GetNeonAuthPhoneNumberPluginOutput,
43
+ }));
@@ -0,0 +1,41 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { API } from "../client.ts";
3
+ import * as T from "../traits.ts";
4
+
5
+ // Input Schema
6
+ export const GetOrganizationSpendingLimitInput =
7
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
8
+ org_id: Schema.String.pipe(T.PathParam()),
9
+ }).pipe(
10
+ T.Http({
11
+ method: "GET",
12
+ path: "/organizations/{org_id}/billing/spending_limit",
13
+ }),
14
+ );
15
+ export type GetOrganizationSpendingLimitInput =
16
+ typeof GetOrganizationSpendingLimitInput.Type;
17
+
18
+ // Output Schema
19
+ export const GetOrganizationSpendingLimitOutput =
20
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
21
+ spending_limit_cents: Schema.NullOr(Schema.Number),
22
+ });
23
+ export type GetOrganizationSpendingLimitOutput =
24
+ typeof GetOrganizationSpendingLimitOutput.Type;
25
+
26
+ // The operation
27
+ /**
28
+ * Retrieve the organization's monthly spending limit
29
+ *
30
+ * Returns the configured spending limit for a V3 paid organization.
31
+ * `spending_limit_cents: null` indicates that no limit is currently
32
+ * set. Available to organization members with read access on Launch
33
+ * and Scale plans only.
34
+ *
35
+ * @param org_id - The Neon organization ID
36
+ */
37
+ export const getOrganizationSpendingLimit =
38
+ /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
39
+ inputSchema: GetOrganizationSpendingLimitInput,
40
+ outputSchema: GetOrganizationSpendingLimitOutput,
41
+ }));
@@ -0,0 +1,141 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { API } from "../client.ts";
3
+ import * as T from "../traits.ts";
4
+
5
+ // Input Schema
6
+ export const RecoverProjectBranchInput =
7
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
8
+ project_id: Schema.String.pipe(T.PathParam()),
9
+ branch_id: Schema.String.pipe(T.PathParam()),
10
+ }).pipe(
11
+ T.Http({
12
+ method: "POST",
13
+ path: "/projects/{project_id}/branches/{branch_id}/recover",
14
+ }),
15
+ );
16
+ export type RecoverProjectBranchInput = typeof RecoverProjectBranchInput.Type;
17
+
18
+ // Output Schema
19
+ export const RecoverProjectBranchOutput =
20
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
21
+ branch: Schema.Struct({
22
+ id: Schema.String,
23
+ project_id: Schema.String,
24
+ parent_id: Schema.optional(Schema.String),
25
+ parent_lsn: Schema.optional(Schema.String),
26
+ parent_timestamp: Schema.optional(Schema.String),
27
+ name: Schema.String,
28
+ current_state: Schema.String,
29
+ pending_state: Schema.optional(Schema.String),
30
+ state_changed_at: Schema.String,
31
+ logical_size: Schema.optional(Schema.Number),
32
+ creation_source: Schema.String,
33
+ primary: Schema.optional(Schema.Boolean),
34
+ default: Schema.Boolean,
35
+ protected: Schema.Boolean,
36
+ cpu_used_sec: Schema.Number,
37
+ compute_time_seconds: Schema.Number,
38
+ active_time_seconds: Schema.Number,
39
+ written_data_bytes: Schema.Number,
40
+ data_transfer_bytes: Schema.Number,
41
+ created_at: Schema.String,
42
+ updated_at: Schema.String,
43
+ ttl_interval_seconds: Schema.optional(Schema.Number),
44
+ expires_at: Schema.optional(Schema.String),
45
+ last_reset_at: Schema.optional(Schema.String),
46
+ created_by: Schema.optional(
47
+ Schema.Struct({
48
+ name: Schema.optional(Schema.String),
49
+ image: Schema.optional(Schema.String),
50
+ }),
51
+ ),
52
+ init_source: Schema.optional(Schema.String),
53
+ restore_status: Schema.optional(Schema.String),
54
+ restored_from: Schema.optional(Schema.String),
55
+ restored_as: Schema.optional(Schema.String),
56
+ restricted_actions: Schema.optional(
57
+ Schema.Array(
58
+ Schema.Struct({
59
+ name: Schema.String,
60
+ reason: Schema.String,
61
+ }),
62
+ ),
63
+ ),
64
+ recovery: Schema.optional(
65
+ Schema.Struct({
66
+ deleted_at: Schema.String,
67
+ recoverable_until: Schema.String,
68
+ deletion_method: Schema.Literals(["user", "ttl"]),
69
+ }),
70
+ ),
71
+ }),
72
+ endpoints: Schema.optional(
73
+ Schema.Array(
74
+ Schema.Struct({
75
+ host: Schema.String,
76
+ id: Schema.String,
77
+ name: Schema.optional(Schema.String),
78
+ project_id: Schema.String,
79
+ branch_id: Schema.String,
80
+ autoscaling_limit_min_cu: Schema.Number,
81
+ autoscaling_limit_max_cu: Schema.Number,
82
+ region_id: Schema.String,
83
+ type: Schema.Literals(["read_only", "read_write"]),
84
+ current_state: Schema.Literals(["init", "active", "idle"]),
85
+ pending_state: Schema.optional(
86
+ Schema.Literals(["init", "active", "idle"]),
87
+ ),
88
+ settings: Schema.Struct({
89
+ pg_settings: Schema.optional(
90
+ Schema.Record(Schema.String, Schema.String),
91
+ ),
92
+ pgbouncer_settings: Schema.optional(
93
+ Schema.Record(Schema.String, Schema.String),
94
+ ),
95
+ preload_libraries: Schema.optional(
96
+ Schema.Struct({
97
+ use_defaults: Schema.optional(Schema.Boolean),
98
+ enabled_libraries: Schema.optional(Schema.Array(Schema.String)),
99
+ }),
100
+ ),
101
+ }),
102
+ pooler_enabled: Schema.Boolean,
103
+ pooler_mode: Schema.Literals(["transaction"]),
104
+ disabled: Schema.Boolean,
105
+ passwordless_access: Schema.Boolean,
106
+ last_active: Schema.optional(Schema.String),
107
+ creation_source: Schema.String,
108
+ created_at: Schema.String,
109
+ updated_at: Schema.String,
110
+ started_at: Schema.optional(Schema.String),
111
+ suspended_at: Schema.optional(Schema.String),
112
+ proxy_host: Schema.String,
113
+ suspend_timeout_seconds: Schema.Number,
114
+ provisioner: Schema.String,
115
+ compute_release_version: Schema.optional(Schema.String),
116
+ }),
117
+ ),
118
+ ),
119
+ });
120
+ export type RecoverProjectBranchOutput = typeof RecoverProjectBranchOutput.Type;
121
+
122
+ // The operation
123
+ /**
124
+ * Recover a deleted branch
125
+ *
126
+ * Recovers a deleted branch during the deletion grace period (7 days).
127
+ * The branch must have been soft deleted and not yet permanently deleted.
128
+ * Recovery restores the branch and its endpoints to an idle state.
129
+ * Connection strings remain valid after recovery.
130
+ * TTL branches become non-TTL branches after recovery.
131
+ * This endpoint is in preview and not available to all users.
132
+ *
133
+ * @param project_id - The Neon project ID
134
+ * @param branch_id - The branch ID
135
+ */
136
+ export const recoverProjectBranch = /*@__PURE__*/ /*#__PURE__*/ API.make(
137
+ () => ({
138
+ inputSchema: RecoverProjectBranchInput,
139
+ outputSchema: RecoverProjectBranchOutput,
140
+ }),
141
+ );
@@ -0,0 +1,43 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { API } from "../client.ts";
3
+ import * as T from "../traits.ts";
4
+
5
+ // Input Schema
6
+ export const SetOrganizationSpendingLimitInput =
7
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
8
+ org_id: Schema.String.pipe(T.PathParam()),
9
+ spending_limit_cents: Schema.Number,
10
+ }).pipe(
11
+ T.Http({
12
+ method: "PUT",
13
+ path: "/organizations/{org_id}/billing/spending_limit",
14
+ }),
15
+ );
16
+ export type SetOrganizationSpendingLimitInput =
17
+ typeof SetOrganizationSpendingLimitInput.Type;
18
+
19
+ // Output Schema
20
+ export const SetOrganizationSpendingLimitOutput =
21
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
22
+ spending_limit_cents: Schema.NullOr(Schema.Number),
23
+ });
24
+ export type SetOrganizationSpendingLimitOutput =
25
+ typeof SetOrganizationSpendingLimitOutput.Type;
26
+
27
+ // The operation
28
+ /**
29
+ * Set the organization's monthly spending limit
30
+ *
31
+ * Sets the spending limit for a V3 paid organization. To remove a
32
+ * previously configured limit, send a DELETE request to this endpoint.
33
+ * When a limit is configured, email notifications are sent at 80% and
34
+ * 100% of the limit. Computes are not suspended by this feature.
35
+ * Available to organization admins on Launch and Scale plans only.
36
+ *
37
+ * @param org_id - The Neon organization ID
38
+ */
39
+ export const setOrganizationSpendingLimit =
40
+ /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
41
+ inputSchema: SetOrganizationSpendingLimitInput,
42
+ outputSchema: SetOrganizationSpendingLimitOutput,
43
+ }));
@@ -0,0 +1,41 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { API } from "../client.ts";
3
+ import * as T from "../traits.ts";
4
+
5
+ // Input Schema
6
+ export const UpdateNeonAuthConfigInput =
7
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
8
+ project_id: Schema.String.pipe(T.PathParam()),
9
+ branch_id: Schema.String.pipe(T.PathParam()),
10
+ name: Schema.String,
11
+ }).pipe(
12
+ T.Http({
13
+ method: "PATCH",
14
+ path: "/projects/{project_id}/branches/{branch_id}/auth/config",
15
+ }),
16
+ );
17
+ export type UpdateNeonAuthConfigInput = typeof UpdateNeonAuthConfigInput.Type;
18
+
19
+ // Output Schema
20
+ export const UpdateNeonAuthConfigOutput =
21
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
22
+ name: Schema.String,
23
+ });
24
+ export type UpdateNeonAuthConfigOutput = typeof UpdateNeonAuthConfigOutput.Type;
25
+
26
+ // The operation
27
+ /**
28
+ * Update auth configuration
29
+ *
30
+ * Updates the auth configuration for the branch.
31
+ * Currently supports updating the application name used in auth emails.
32
+ *
33
+ * @param project_id - The Neon project ID
34
+ * @param branch_id - The Neon branch ID
35
+ */
36
+ export const updateNeonAuthConfig = /*@__PURE__*/ /*#__PURE__*/ API.make(
37
+ () => ({
38
+ inputSchema: UpdateNeonAuthConfigInput,
39
+ outputSchema: UpdateNeonAuthConfigOutput,
40
+ }),
41
+ );
@@ -0,0 +1,46 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { API } from "../client.ts";
3
+ import * as T from "../traits.ts";
4
+
5
+ // Input Schema
6
+ export const UpdateNeonAuthMagicLinkPluginInput =
7
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
8
+ project_id: Schema.String.pipe(T.PathParam()),
9
+ branch_id: Schema.String.pipe(T.PathParam()),
10
+ enabled: Schema.optional(Schema.Boolean),
11
+ expires_in: Schema.optional(Schema.Number),
12
+ disable_sign_up: Schema.optional(Schema.Boolean),
13
+ }).pipe(
14
+ T.Http({
15
+ method: "PATCH",
16
+ path: "/projects/{project_id}/branches/{branch_id}/auth/plugins/magic-link",
17
+ }),
18
+ );
19
+ export type UpdateNeonAuthMagicLinkPluginInput =
20
+ typeof UpdateNeonAuthMagicLinkPluginInput.Type;
21
+
22
+ // Output Schema
23
+ export const UpdateNeonAuthMagicLinkPluginOutput =
24
+ /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
25
+ enabled: Schema.Boolean,
26
+ expires_in: Schema.Number,
27
+ disable_sign_up: Schema.Boolean,
28
+ });
29
+ export type UpdateNeonAuthMagicLinkPluginOutput =
30
+ typeof UpdateNeonAuthMagicLinkPluginOutput.Type;
31
+
32
+ // The operation
33
+ /**
34
+ * Update magic link plugin configuration
35
+ *
36
+ * Updates the magic link plugin configuration for Neon Auth.
37
+ * The magic link plugin enables passwordless authentication via email magic links.
38
+ *
39
+ * @param project_id - The Neon project ID
40
+ * @param branch_id - The Neon branch ID
41
+ */
42
+ export const updateNeonAuthMagicLinkPlugin =
43
+ /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
44
+ inputSchema: UpdateNeonAuthMagicLinkPluginInput,
45
+ outputSchema: UpdateNeonAuthMagicLinkPluginOutput,
46
+ }));