@heychunky/core 0.2.0 → 0.2.1
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.
- package/dist/admin/services/neon.d.ts.map +1 -1
- package/dist/admin/services/neon.js +30 -8
- package/dist/admin/services/neon.js.map +1 -1
- package/dist/http/errors.d.ts +11 -0
- package/dist/http/errors.d.ts.map +1 -1
- package/dist/http/errors.js +15 -0
- package/dist/http/errors.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neon.d.ts","sourceRoot":"","sources":["../../../src/admin/services/neon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"neon.d.ts","sourceRoot":"","sources":["../../../src/admin/services/neon.ts"],"names":[],"mappings":"AAQA,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIrG,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAChG,MAAM,WAAW,UAAU;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;AAEvH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM;;YAKQ,MAAM;cAAQ,MAAM;cAAQ,MAAM;;oBAE/C,OAAO,CAAC,WAAW,EAAE,CAAC;wBAShB,MAAM,KAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;0BAelE,MAAM,SAAQ;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KACtD,OAAO,CAAC,WAAW,CAAC;0BAYY,MAAM;8BAqB5B,MAAM,QAAQ,MAAM,aAAa,MAAM,KACjD,OAAO,CAAC,UAAU,CAAC;iCAkET,MAAM,YAAY,MAAM,QAAQ;QAAE,SAAS,EAAE,IAAI,CAAA;KAAE,KAC7D,OAAO,CAAC,IAAI,CAAC;8BA9BH,MAAM,YAAY,MAAM,QAAQ;QAAE,SAAS,EAAE,IAAI,CAAA;KAAE,KAC7D,OAAO,CAAC,IAAI,CAAC;+BAYH,MAAM,YAAY,MAAM,SAC7B;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KACzC,OAAO,CAAC,MAAM,CAAC;cAoCA,OAAO,CAAC,aAAa,CAAC;cAOtB,OAAO,CAAC,aAAa,CAAC;EAyBzC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* string and never for this key.
|
|
6
6
|
*/
|
|
7
7
|
import { request } from "../../http/request.js";
|
|
8
|
+
import { HttpError } from "../../http/errors.js";
|
|
8
9
|
import { probe, probeAccess } from "../../services/types.js";
|
|
9
10
|
const API = "https://console.neon.tech/api/v2";
|
|
10
11
|
export function neon(token) {
|
|
@@ -52,15 +53,36 @@ export function neon(token) {
|
|
|
52
53
|
* environment. The endpoint is what makes it a database rather than a
|
|
53
54
|
* snapshot.
|
|
54
55
|
*/
|
|
56
|
+
/**
|
|
57
|
+
* Create a branch, waiting out the project if it is still busy.
|
|
58
|
+
*
|
|
59
|
+
* A project created moments ago is still settling, and Neon refuses a branch
|
|
60
|
+
* during that window with 423 rather than queuing it. Provisioning creates a
|
|
61
|
+
* project and immediately asks for five branches, so this is the ordinary
|
|
62
|
+
* case rather than an unlucky one — and failing there leaves an app with a
|
|
63
|
+
* database and no environments.
|
|
64
|
+
*/
|
|
55
65
|
async function createBranch(projectId, name, parentId) {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
const body = {
|
|
67
|
+
branch: { name, ...(parentId ? { parent_id: parentId } : {}) },
|
|
68
|
+
endpoints: [{ type: "read_write" }],
|
|
69
|
+
};
|
|
70
|
+
let wait = 1000;
|
|
71
|
+
for (let attempt = 0;; attempt++) {
|
|
72
|
+
try {
|
|
73
|
+
const { branch } = await request(`${API}/projects/${projectId}/branches`, { ...o, method: "POST", body });
|
|
74
|
+
return { id: branch.id, name: branch.name, parent_id: branch.parent_id, default: branch.default };
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
// Only what the provider called transient, and only for a while: a
|
|
78
|
+
// project that is still busy after half a minute is a real failure.
|
|
79
|
+
const busy = err instanceof HttpError && err.retryable && err.status === 423;
|
|
80
|
+
if (!busy || attempt >= 6)
|
|
81
|
+
throw err;
|
|
82
|
+
await new Promise((r) => setTimeout(r, wait));
|
|
83
|
+
wait = Math.min(wait * 2, 8000);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
64
86
|
}
|
|
65
87
|
/**
|
|
66
88
|
* Refresh one branch from its parent — copy-on-write, no dump, no transfer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neon.js","sourceRoot":"","sources":["../../../src/admin/services/neon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAoB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,WAAW,EAA0C,MAAM,yBAAyB,CAAC;AAErG,MAAM,GAAG,GAAG,kCAAkC,CAAC;AAK/C,MAAM,UAAU,IAAI,CAAC,KAAa;IAChC,MAAM,KAAK,GAAgB,EAAE,KAAK,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAEjC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE,CAC/B,CAAC,MAAM,OAAO,CAAkE,GAAG,GAAG,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAErI,KAAK,UAAU,QAAQ;QACrB,MAAM,GAAG,GAAkB,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,aAAa,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,MAAM,OAAO,CAA8B,GAAG,GAAG,oBAAoB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5F,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAAoC,EAAE,CAC3E,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAElD;;;;;;;;;;OAUG;IACH,KAAK,UAAU,aAAa,CAC1B,IAAY,EAAE,OAA4C,EAAE;QAE5D,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,eAAe,CAAC;QACxE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,MAAM,OAAO,CAA2B,GAAG,GAAG,WAAW,EAAE;YAChF,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;YACpB,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;SAC5D,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;IACtF,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE,CAC3C,CAAC,MAAM,OAAO,CAA6B,GAAG,GAAG,aAAa,SAAS,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEzG;;;;;;;OAOG;IACH,KAAK,UAAU,YAAY,CACzB,SAAiB,EAAE,IAAY,EAAE,QAAiB;QAElD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAC9B,GAAG,GAAG,aAAa,SAAS,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"neon.js","sourceRoot":"","sources":["../../../src/admin/services/neon.ts"],"names":[],"mappings":"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"}
|
package/dist/http/errors.d.ts
CHANGED
|
@@ -28,6 +28,17 @@ export declare class ValidationError extends HttpError {
|
|
|
28
28
|
constructor(status: number, url: string, body: string);
|
|
29
29
|
get retryable(): boolean;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Busy with something else. The same request will work shortly.
|
|
33
|
+
*
|
|
34
|
+
* Neon answers 423 while a project it just created is still settling, and a
|
|
35
|
+
* branch asked for in that window is refused rather than queued. It reads like
|
|
36
|
+
* a client error and is not one — the request is correct and merely early.
|
|
37
|
+
*/
|
|
38
|
+
export declare class BusyError extends HttpError {
|
|
39
|
+
constructor(status: number, url: string, body: string);
|
|
40
|
+
get retryable(): boolean;
|
|
41
|
+
}
|
|
31
42
|
/** Slow down. Carries the provider's own advice on how long to wait. */
|
|
32
43
|
export declare class RateLimitError extends HttpError {
|
|
33
44
|
/** Seconds to wait, when the provider said. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8BAAsB,SAAU,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQpF,qEAAqE;IACrE,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC;CACnC;AAED,8EAA8E;AAC9E,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED,8DAA8D;AAC9D,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrC,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED,sEAAsE;AACtE,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED,wEAAwE;AACxE,qBAAa,cAAe,SAAQ,SAAS;IAC3C,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE5B,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAI1D,IAAI,SAAS,IAAI,OAAO,CAAiB;CAC1C;AAED,8CAA8C;AAC9C,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAiB;CAC1C;AAED,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8BAAsB,SAAU,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQpF,qEAAqE;IACrE,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC;CACnC;AAED,8EAA8E;AAC9E,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED,8DAA8D;AAC9D,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrC,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED,sEAAsE;AACtE,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAkB;CAC3C;AAED;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAiB;CAC1C;AAED,wEAAwE;AACxE,qBAAa,cAAe,SAAQ,SAAS;IAC3C,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE5B,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAI1D,IAAI,SAAS,IAAI,OAAO,CAAiB;CAC1C;AAED,8CAA8C;AAC9C,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAGrD,IAAI,SAAS,IAAI,OAAO,CAAiB;CAC1C;AAED,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAOlG"}
|
package/dist/http/errors.js
CHANGED
|
@@ -38,6 +38,19 @@ export class ValidationError extends HttpError {
|
|
|
38
38
|
}
|
|
39
39
|
get retryable() { return false; }
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Busy with something else. The same request will work shortly.
|
|
43
|
+
*
|
|
44
|
+
* Neon answers 423 while a project it just created is still settling, and a
|
|
45
|
+
* branch asked for in that window is refused rather than queued. It reads like
|
|
46
|
+
* a client error and is not one — the request is correct and merely early.
|
|
47
|
+
*/
|
|
48
|
+
export class BusyError extends HttpError {
|
|
49
|
+
constructor(status, url, body) {
|
|
50
|
+
super("BusyError", `Busy (${status}) — the resource is mid-operation`, status, url, body);
|
|
51
|
+
}
|
|
52
|
+
get retryable() { return true; }
|
|
53
|
+
}
|
|
41
54
|
/** Slow down. Carries the provider's own advice on how long to wait. */
|
|
42
55
|
export class RateLimitError extends HttpError {
|
|
43
56
|
/** Seconds to wait, when the provider said. */
|
|
@@ -61,6 +74,8 @@ export function errorFor(status, url, body, retryAfter) {
|
|
|
61
74
|
return new AuthError(status, url, body);
|
|
62
75
|
if (status === 404)
|
|
63
76
|
return new NotFoundError(url, body);
|
|
77
|
+
if (status === 423)
|
|
78
|
+
return new BusyError(status, url, body);
|
|
64
79
|
if (status === 429)
|
|
65
80
|
return new RateLimitError(url, body, retryAfter);
|
|
66
81
|
if (status >= 500)
|
package/dist/http/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"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"}
|