@bevorai/sdk 0.1.1 → 0.2.0-rc2

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 (125) hide show
  1. package/README.md +18 -15
  2. package/dist/client.d.ts +9 -8
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +21 -19
  5. package/dist/client.js.map +1 -1
  6. package/dist/errors.d.ts +42 -27
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +45 -29
  9. package/dist/errors.js.map +1 -1
  10. package/dist/graph/call-node.d.ts +9 -27
  11. package/dist/graph/call-node.d.ts.map +1 -1
  12. package/dist/graph/call-node.js +75 -41
  13. package/dist/graph/call-node.js.map +1 -1
  14. package/dist/graph/cursor.d.ts +7 -7
  15. package/dist/graph/cursor.d.ts.map +1 -1
  16. package/dist/graph/cursor.js.map +1 -1
  17. package/dist/graph/field-metadata.d.ts +11 -11
  18. package/dist/graph/field-metadata.d.ts.map +1 -1
  19. package/dist/graph/field-metadata.js +2 -18
  20. package/dist/graph/field-metadata.js.map +1 -1
  21. package/dist/graph/graph.d.ts +22 -22
  22. package/dist/graph/graph.d.ts.map +1 -1
  23. package/dist/graph/graph.js.map +1 -1
  24. package/dist/helpers/sarif.d.ts +7 -7
  25. package/dist/helpers/sarif.d.ts.map +1 -1
  26. package/dist/helpers/sarif.js.map +1 -1
  27. package/dist/index.d.ts +3 -7
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +0 -3
  30. package/dist/index.js.map +1 -1
  31. package/dist/node.js +1 -1
  32. package/dist/pagination.d.ts +1 -1
  33. package/dist/pagination.d.ts.map +1 -1
  34. package/dist/resources/analyses.d.ts +204 -76
  35. package/dist/resources/analyses.d.ts.map +1 -1
  36. package/dist/resources/analyses.js +147 -33
  37. package/dist/resources/analyses.js.map +1 -1
  38. package/dist/resources/chats.d.ts +52 -27
  39. package/dist/resources/chats.d.ts.map +1 -1
  40. package/dist/resources/chats.js +45 -9
  41. package/dist/resources/chats.js.map +1 -1
  42. package/dist/resources/codes.d.ts +102 -41
  43. package/dist/resources/codes.d.ts.map +1 -1
  44. package/dist/resources/codes.js +78 -18
  45. package/dist/resources/codes.js.map +1 -1
  46. package/dist/resources/files.d.ts +22 -12
  47. package/dist/resources/files.d.ts.map +1 -1
  48. package/dist/resources/files.js +12 -2
  49. package/dist/resources/files.js.map +1 -1
  50. package/dist/resources/findings.d.ts +68 -32
  51. package/dist/resources/findings.d.ts.map +1 -1
  52. package/dist/resources/findings.js +49 -10
  53. package/dist/resources/findings.js.map +1 -1
  54. package/dist/resources/nodes.d.ts +28 -18
  55. package/dist/resources/nodes.d.ts.map +1 -1
  56. package/dist/resources/nodes.js +12 -2
  57. package/dist/resources/nodes.js.map +1 -1
  58. package/dist/resources/projects.d.ts +7 -3
  59. package/dist/resources/projects.d.ts.map +1 -1
  60. package/dist/resources/projects.js +5 -1
  61. package/dist/resources/projects.js.map +1 -1
  62. package/dist/resources/summary.d.ts +4 -3
  63. package/dist/resources/summary.d.ts.map +1 -1
  64. package/dist/resources/summary.js.map +1 -1
  65. package/dist/resources/transitions.d.ts +16 -12
  66. package/dist/resources/transitions.d.ts.map +1 -1
  67. package/dist/resources/transitions.js +9 -2
  68. package/dist/resources/transitions.js.map +1 -1
  69. package/dist/resources/users.d.ts +14 -9
  70. package/dist/resources/users.d.ts.map +1 -1
  71. package/dist/resources/users.js +6 -1
  72. package/dist/resources/users.js.map +1 -1
  73. package/dist/resources/versions.d.ts +29 -13
  74. package/dist/resources/versions.d.ts.map +1 -1
  75. package/dist/resources/versions.js +24 -5
  76. package/dist/resources/versions.js.map +1 -1
  77. package/dist/streaming.d.ts +1 -2
  78. package/dist/streaming.d.ts.map +1 -1
  79. package/dist/streaming.js +2 -2
  80. package/dist/streaming.js.map +1 -1
  81. package/dist/types/events.d.ts +53 -0
  82. package/dist/types/events.d.ts.map +1 -0
  83. package/dist/types/events.js +2 -0
  84. package/dist/types/events.js.map +1 -0
  85. package/dist/types/generics.d.ts +18 -0
  86. package/dist/types/generics.d.ts.map +1 -0
  87. package/dist/types/generics.js +2 -0
  88. package/dist/types/generics.js.map +1 -0
  89. package/dist/types/graph_data.d.ts +137 -0
  90. package/dist/types/graph_data.d.ts.map +1 -0
  91. package/dist/types/graph_data.js +3 -0
  92. package/dist/types/graph_data.js.map +1 -0
  93. package/dist/types/literals.d.ts +11 -22
  94. package/dist/types/literals.d.ts.map +1 -1
  95. package/dist/types/literals.js +2 -15
  96. package/dist/types/literals.js.map +1 -1
  97. package/dist/types/requests.d.ts +246 -177
  98. package/dist/types/requests.d.ts.map +1 -1
  99. package/dist/types/requests.js +2 -2
  100. package/dist/types/requests.js.map +1 -1
  101. package/dist/types/responses.d.ts +592 -381
  102. package/dist/types/responses.d.ts.map +1 -1
  103. package/dist/types/responses.js +2 -10
  104. package/dist/types/responses.js.map +1 -1
  105. package/dist/types/shared.d.ts +8 -0
  106. package/dist/types/shared.d.ts.map +1 -0
  107. package/dist/types/shared.js +2 -0
  108. package/dist/types/shared.js.map +1 -0
  109. package/package.json +1 -1
  110. package/dist/helpers/call-chain.d.ts +0 -11
  111. package/dist/helpers/call-chain.d.ts.map +0 -1
  112. package/dist/helpers/call-chain.js +0 -79
  113. package/dist/helpers/call-chain.js.map +0 -1
  114. package/dist/helpers/static-analysis.d.ts +0 -18
  115. package/dist/helpers/static-analysis.d.ts.map +0 -1
  116. package/dist/helpers/static-analysis.js +0 -89
  117. package/dist/helpers/static-analysis.js.map +0 -1
  118. package/dist/types/graph-data.d.ts +0 -62
  119. package/dist/types/graph-data.d.ts.map +0 -1
  120. package/dist/types/graph-data.js +0 -2
  121. package/dist/types/graph-data.js.map +0 -1
  122. package/dist/types/static-analysis.d.ts +0 -28
  123. package/dist/types/static-analysis.d.ts.map +0 -1
  124. package/dist/types/static-analysis.js +0 -93
  125. package/dist/types/static-analysis.js.map +0 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @bevor/sdk
1
+ # @bevorai/sdk
2
2
 
3
3
  TypeScript SDK for the [Bevor](https://bevor.io) API: smart contract security analysis for Solidity.
4
4
 
@@ -7,12 +7,12 @@ TypeScript SDK for the [Bevor](https://bevor.io) API: smart contract security an
7
7
  ## Install
8
8
 
9
9
  ```bash
10
- npm install @bevor/sdk
10
+ npm install @bevorai/sdk
11
11
  # or
12
- pnpm add @bevor/sdk
12
+ pnpm add @bevorai/sdk
13
13
  ```
14
14
 
15
- Requires Node 20.3+ (or any runtime with `fetch` and `AbortSignal.any`). The package is ESM.
15
+ Requires Node 22+ (or any runtime with `fetch` and `AbortSignal.any`). The package is ESM.
16
16
 
17
17
  ## Quickstart
18
18
 
@@ -20,7 +20,7 @@ Create an API key in the Bevor dashboard, then:
20
20
 
21
21
  ```ts
22
22
  import { readFile } from "node:fs/promises";
23
- import { BevorClient } from "@bevor/sdk";
23
+ import { BevorClient } from "@bevorai/sdk";
24
24
 
25
25
  const client = new BevorClient({ apiKey: "bvr_..." });
26
26
 
@@ -29,8 +29,11 @@ const code = await client.codes.createPaste({
29
29
  });
30
30
 
31
31
  const created = await client.analyses.createRoot({ code_id: code.id });
32
- if (!created.is_created)
33
- throw new Error("an analysis for this code already exists");
32
+ if (!created.is_created) {
33
+ // this code already has analyses in the project; reuse one, or pass on_collision: "force"
34
+ console.log(created.candidates.map((c) => c.analysis_meta.id));
35
+ process.exit(0);
36
+ }
34
37
  const { analysis } = created;
35
38
 
36
39
  const run = await client.analyses.run(analysis.id, undefined, {
@@ -103,8 +106,8 @@ for await (const message of client.chats.stream(chatId, token, {
103
106
  ### Uploading a folder
104
107
 
105
108
  ```ts
106
- import { fingerprintSource } from "@bevor/sdk";
107
- import { directoryFiles } from "@bevor/sdk/node";
109
+ import { fingerprintSource } from "@bevorai/sdk";
110
+ import { directoryFiles } from "@bevorai/sdk/node";
108
111
 
109
112
  const { zip, nFiles, versionFingerprint } = await fingerprintSource(
110
113
  await directoryFiles("./contracts"),
@@ -129,7 +132,7 @@ code version's `version_fingerprint`.
129
132
  `Graph` loads a code version's nodes, edges and files for local traversal:
130
133
 
131
134
  ```ts
132
- import { Graph } from "@bevor/sdk";
135
+ import { Graph } from "@bevorai/sdk";
133
136
 
134
137
  const graph = new Graph(client, codeId);
135
138
  await graph.build();
@@ -144,12 +147,12 @@ const source = await graph.reconstructChunk(entrypointId, {
144
147
 
145
148
  ### Errors
146
149
 
147
- Error responses with a known code throw a typed subclass of `BaseError` (`NotFoundError`,
148
- `InvalidStateException`, `RateLimitException`, ...) carrying `code`, `statusCode` and `message`.
149
- Any other non-2xx response throws `APIError` with the `status` and raw `body`.
150
+ Error responses with a known code throw a typed subclass of `BevorError` (`NotFoundError`,
151
+ `InvalidStateError`, `RateLimitError`, ...) carrying `code`, `statusCode` and `message`.
152
+ Any other non-2xx response throws `BevorError` with the `status` and raw `body`.
150
153
 
151
154
  ```ts
152
- import { NotFoundError } from "@bevor/sdk";
155
+ import { NotFoundError } from "@bevorai/sdk";
153
156
 
154
157
  try {
155
158
  await client.findings.get(findingId);
@@ -162,7 +165,7 @@ try {
162
165
  ### SARIF
163
166
 
164
167
  ```ts
165
- import { bevorToSarif, sarifToBevor } from "@bevor/sdk";
168
+ import { bevorToSarif, sarifToBevor } from "@bevorai/sdk";
166
169
 
167
170
  const sarif = await bevorToSarif(graph, findings.results);
168
171
  await client.analyses.addFindings(analysisId, {
package/dist/client.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { PaginatedResource } from "./pagination.js";
2
1
  import { AnalysisResources } from "./resources/analyses.js";
3
2
  import { ChatResources } from "./resources/chats.js";
4
3
  import { CodesResources } from "./resources/codes.js";
@@ -7,7 +6,6 @@ import { ProjectResources } from "./resources/projects.js";
7
6
  import { AnalysisSummaryResources } from "./resources/summary.js";
8
7
  import { TransitionResources } from "./resources/transitions.js";
9
8
  import { AnalysisVersionsResources } from "./resources/versions.js";
10
- import type { Pagination } from "./types/responses.js";
11
9
  export type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
12
10
  type QueryScalar = string | number | boolean;
13
11
  export type QueryValue = QueryScalar | readonly QueryScalar[] | null | undefined;
@@ -51,8 +49,15 @@ export interface RequestConfig<Q, B> extends RequestOptions {
51
49
  }
52
50
  /** Drops null, undefined and empty-string values; repeats the key for arrays. */
53
51
  export declare const buildQuery: <Q extends QueryInput<Q>>(query: Q | undefined) => URLSearchParams;
54
- /** Raises the registered error for a non-2xx response, or an `APIError` when the body has no known code. */
52
+ /** Raises the registered error for a non-2xx response, or an `BevorError` when the body has no known code. */
55
53
  export declare const throwForResponse: (response: Response) => Promise<never>;
54
+ /**
55
+ * Client for the Bevor API, scoped to the workspace and project of `apiKey`.
56
+ *
57
+ * In an integration project, requests act on behalf of one of the project's users: send their ID
58
+ * in the `bevor-user-id` header, through `defaultHeaders` or any method's `headers`.
59
+ * `projects.get` and `projects.users.create` don't need it.
60
+ */
56
61
  export declare class BevorClient {
57
62
  #private;
58
63
  readonly baseURL: string;
@@ -69,7 +74,7 @@ export declare class BevorClient {
69
74
  constructor(options: ClientOptions);
70
75
  /**
71
76
  * Sends a request and returns the parsed JSON body (`null` for empty responses).
72
- * Throws a registered `BaseError` subclass, or `APIError`, for non-2xx responses.
77
+ * Throws a registered `BevorError` subclass, or `BevorError`, for non-2xx responses.
73
78
  */
74
79
  request<T, Q extends QueryInput<Q> = QueryRecord, B = never>(method: HttpMethod, path: string, init?: RequestConfig<Q, B>): Promise<T>;
75
80
  /**
@@ -77,10 +82,6 @@ export declare class BevorClient {
77
82
  * `timeout` is the max idle time between chunks, not a total deadline.
78
83
  */
79
84
  streamLines<Q extends QueryInput<Q> = QueryRecord, B = never>(method: HttpMethod, path: string, init?: RequestConfig<Q, B>): AsyncGenerator<string>;
80
- /** GETs a paginated list; with `withPagination`, wraps it to fetch further pages. */
81
- paginate<T, Q extends QueryInput<Q> & {
82
- page?: number | null;
83
- }>(path: string, query: Q | undefined, options: PaginationOptions): Promise<Pagination<T> | PaginatedResource<T>>;
84
85
  }
85
86
  export {};
86
87
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { APIError, ERROR_REGISTRY } from "./errors.js";
2
- import { PaginatedResource } from "./pagination.js";
3
2
  import { AnalysisResources } from "./resources/analyses.js";
4
3
  import { ChatResources } from "./resources/chats.js";
5
4
  import { CodesResources } from "./resources/codes.js";
@@ -33,8 +32,9 @@ export const buildQuery = (query) => {
33
32
  };
34
33
  const isJsonObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
35
34
  const toText = (value) => typeof value === "string" ? value : JSON.stringify(value);
36
- /** Raises the registered error for a non-2xx response, or an `APIError` when the body has no known code. */
35
+ /** Raises the registered error for a non-2xx response, or an `BevorError` when the body has no known code. */
37
36
  export const throwForResponse = async (response) => {
37
+ const requestId = response.headers.get("bevor-request-id");
38
38
  const text = await response.text().catch(() => "");
39
39
  let body = null;
40
40
  try {
@@ -46,17 +46,19 @@ export const throwForResponse = async (response) => {
46
46
  if (!isJsonObject(body) || body.code === null || body.code === undefined) {
47
47
  throw new APIError(response.status, text);
48
48
  }
49
- const code = toText(body.code);
50
- const { message, detail } = body;
49
+ const ErrorClass = ERROR_REGISTRY[toText(body.code)];
50
+ if (!ErrorClass)
51
+ throw new APIError(response.status, text);
52
+ const { message, detail, extra } = body;
51
53
  const resolved = message !== null && message !== undefined
52
54
  ? toText(message)
53
55
  : detail !== null && detail !== undefined
54
56
  ? toText(detail)
55
57
  : JSON.stringify(body);
56
- const ErrorClass = ERROR_REGISTRY[code];
57
- if (!ErrorClass)
58
- throw new APIError(response.status, text);
59
- throw new ErrorClass(resolved);
58
+ throw new ErrorClass(resolved, {
59
+ requestId,
60
+ extra: Array.isArray(extra) ? extra.filter(isJsonObject) : [],
61
+ });
60
62
  };
61
63
  const idleTimeout = (ms, signal) => {
62
64
  const controller = new AbortController();
@@ -75,6 +77,13 @@ const idleTimeout = (ms, signal) => {
75
77
  stop,
76
78
  };
77
79
  };
80
+ /**
81
+ * Client for the Bevor API, scoped to the workspace and project of `apiKey`.
82
+ *
83
+ * In an integration project, requests act on behalf of one of the project's users: send their ID
84
+ * in the `bevor-user-id` header, through `defaultHeaders` or any method's `headers`.
85
+ * `projects.get` and `projects.users.create` don't need it.
86
+ */
78
87
  export class BevorClient {
79
88
  baseURL;
80
89
  defaultHeaders;
@@ -106,7 +115,7 @@ export class BevorClient {
106
115
  }
107
116
  /**
108
117
  * Sends a request and returns the parsed JSON body (`null` for empty responses).
109
- * Throws a registered `BaseError` subclass, or `APIError`, for non-2xx responses.
118
+ * Throws a registered `BevorError` subclass, or `BevorError`, for non-2xx responses.
110
119
  */
111
120
  async request(method, path, init = {}) {
112
121
  const deadline = AbortSignal.timeout(init.timeout ?? this.timeout);
@@ -139,16 +148,6 @@ export class BevorClient {
139
148
  idle.stop();
140
149
  }
141
150
  }
142
- /** GETs a paginated list; with `withPagination`, wraps it to fetch further pages. */
143
- async paginate(path, query, options) {
144
- const { withPagination, ...requestOptions } = options;
145
- const fetchPage = (page) => this.request("GET", path, {
146
- ...requestOptions,
147
- query: { ...query, page },
148
- });
149
- const first = await fetchPage(query?.page ?? 0);
150
- return withPagination ? new PaginatedResource(first, fetchPage) : first;
151
- }
152
151
  #send(method, path, init, signal) {
153
152
  const query = buildQuery(init.query).toString();
154
153
  const url = `${this.baseURL}/${trimSlashes(path)}${query ? `?${query}` : ""}`;
@@ -165,6 +164,9 @@ export class BevorClient {
165
164
  }
166
165
  for (const [name, value] of Object.entries(init.headers ?? {}))
167
166
  headers.set(name, value);
167
+ // unauthenticated means no credentials, whatever the defaults carry
168
+ if (init.authenticated === false)
169
+ headers.delete("Authorization");
168
170
  return this.#fetch(url, { method, headers, body, signal });
169
171
  }
170
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type AppErrorTypes = "auth.session_expired" | "auth.unauthorized" | "auth.unauthenticated" | "auth.payment_required" | "auth.invalid_permissions" | "auth.invalid_scope" | "error.bad_request" | "error.not_found" | "error.plan_limit" | "error.invalid_state" | "error.integrity" | "error.database" | "error.validation" | "error.server" | "code.unsupported" | "code.conflict" | "app.rate_limit" | "payment.error" | "payment.failed";
1
+ export type BevorErrorTypes = "auth.session_expired" | "auth.unauthorized" | "auth.unauthenticated" | "auth.payment_required" | "auth.invalid_permissions" | "auth.invalid_scope" | "error.bad_request" | "error.payload_too_large" | "error.not_found" | "error.plan_limit" | "error.invalid_state" | "error.integrity" | "error.database" | "error.validation" | "error.server" | "code.unsupported" | "code.conflict" | "app.rate_limit" | "payment.error" | "payment.failed";
2
2
  /**
3
3
  * A non-2xx response that carries no recognised Bevor error code
4
4
  * (proxies, gateways, validation errors, unknown codes).
@@ -9,53 +9,61 @@ export declare class APIError extends Error {
9
9
  constructor(status: number, body: string);
10
10
  }
11
11
  /** Base class for errors the API reports with a known `code`. */
12
- export declare abstract class BaseError extends Error {
13
- abstract readonly code: AppErrorTypes;
12
+ export interface BevorErrorOptions {
13
+ requestId?: string | null;
14
+ extra?: Record<string, any>[];
15
+ }
16
+ /** Base class for errors the API reports with a known `code`. */
17
+ export declare abstract class BevorError extends Error {
18
+ abstract readonly code: BevorErrorTypes;
14
19
  abstract readonly statusCode: number;
15
- constructor(message?: string | null);
20
+ readonly requestId: string | null;
21
+ readonly extra: BevorErrorOptions[];
22
+ constructor(message?: string | null, options?: BevorErrorOptions);
16
23
  get details(): {
17
24
  message: string;
18
- code: AppErrorTypes;
25
+ code: BevorErrorTypes;
19
26
  };
27
+ toString(): string;
20
28
  }
21
29
  /** Base class for all authentication/authorization errors. */
22
- export declare abstract class AuthException extends BaseError {
30
+ export declare abstract class AuthError extends BevorError {
23
31
  }
24
32
  /** Base class for all code-related errors. */
25
- export declare abstract class CodeException extends BaseError {
33
+ export declare abstract class CodeError extends BevorError {
26
34
  }
27
35
  /** Base class for all payment-related errors. */
28
- export declare class PaymentException extends BaseError {
29
- readonly code: AppErrorTypes;
36
+ export declare class PaymentError extends BevorError {
37
+ readonly code: BevorErrorTypes;
30
38
  readonly statusCode: number;
31
39
  }
32
40
  /** Too many requests. Retrying later succeeds. */
33
- export declare class RateLimitException extends BaseError {
41
+ export declare class RateLimitError extends BevorError {
34
42
  readonly code = "app.rate_limit";
35
43
  readonly statusCode = 429;
36
44
  }
37
- export declare class SessionExpiredError extends AuthException {
45
+ export declare class SessionExpiredError extends AuthError {
38
46
  readonly code = "auth.session_expired";
39
47
  readonly statusCode = 401;
40
48
  }
41
- export declare class UnauthenticatedError extends AuthException {
49
+ export declare class UnauthenticatedError extends AuthError {
42
50
  readonly code = "auth.unauthenticated";
43
51
  readonly statusCode = 401;
44
52
  }
45
- export declare class PaymentRequiredError extends AuthException {
53
+ export declare class PaymentRequiredError extends AuthError {
46
54
  readonly code = "auth.payment_required";
47
55
  readonly statusCode = 402;
48
56
  }
49
- export declare class UnauthorizedError extends AuthException {
57
+ export declare class UnauthorizedError extends AuthError {
50
58
  readonly code = "auth.unauthorized";
51
59
  readonly statusCode = 403;
52
60
  }
53
61
  /** Authenticated, but not allowed. Re-authenticating won't fix it. */
54
- export declare class InvalidPermissionsError extends AuthException {
62
+ export declare class InvalidPermissionsError extends AuthError {
55
63
  readonly code = "auth.invalid_permissions";
56
64
  readonly statusCode = 403;
57
65
  }
58
- export declare class InvalidScopeError extends AuthException {
66
+ export declare class InvalidScopeError extends AuthError {
59
67
  readonly code = "auth.invalid_scope";
60
68
  readonly statusCode = 403;
61
69
  }
@@ -63,12 +71,19 @@ export declare class InvalidScopeError extends AuthException {
63
71
  * The request is wrong for this endpoint, regardless of any resource's state.
64
72
  * e.g. a required header is missing, or the project kind doesn't support the route.
65
73
  */
66
- export declare class BadRequestException extends BaseError {
74
+ export declare class BadRequestError extends BevorError {
67
75
  readonly code = "error.bad_request";
68
76
  readonly statusCode = 400;
69
77
  }
78
+ /**
79
+ * For endpoints that accept arbitrary bytes, primarly for folder uploads.
80
+ */
81
+ export declare class PayloadTooLargeError extends BevorError {
82
+ readonly code = "error.payload_too_large";
83
+ readonly statusCode = 413;
84
+ }
70
85
  /** Doesn't exist, was deleted, or isn't visible to the caller. */
71
- export declare class NotFoundError extends BaseError {
86
+ export declare class NotFoundError extends BevorError {
72
87
  readonly code = "error.not_found";
73
88
  readonly statusCode = 404;
74
89
  }
@@ -76,34 +91,34 @@ export declare class NotFoundError extends BaseError {
76
91
  * The resource's current state forbids the action. e.g. a pipeline is running,
77
92
  * changes are staged, or it already exists.
78
93
  */
79
- export declare class InvalidStateException extends BaseError {
94
+ export declare class InvalidStateError extends BevorError {
80
95
  readonly code = "error.invalid_state";
81
96
  readonly statusCode = 409;
82
97
  }
83
98
  /** Our failure, or an upstream service's. Retrying may succeed. */
84
- export declare class ServerException extends BaseError {
99
+ export declare class ServerError extends BevorError {
85
100
  readonly code = "error.server";
86
101
  readonly statusCode = 500;
87
102
  }
88
103
  /** A plan or usage limit was reached. Retrying won't help, upgrading will. */
89
- export declare class PlanLimitException extends BaseError {
104
+ export declare class PlanLimitError extends BevorError {
90
105
  readonly code = "error.plan_limit";
91
106
  readonly statusCode = 402;
92
107
  }
93
- export declare class CodeUnsupportedException extends CodeException {
108
+ export declare class CodeUnsupportedError extends CodeError {
94
109
  readonly code = "code.unsupported";
95
110
  readonly statusCode = 400;
96
111
  }
97
- export declare class CodeConflictException extends CodeException {
112
+ export declare class CodeConflictError extends CodeError {
98
113
  readonly code = "code.conflict";
99
114
  readonly statusCode = 409;
100
115
  }
101
- export declare class PaymentFailedException extends PaymentException {
102
- readonly code: AppErrorTypes;
116
+ export declare class PaymentFailedError extends PaymentError {
117
+ readonly code: BevorErrorTypes;
103
118
  readonly statusCode: number;
104
119
  }
105
- type ErrorClass = new (message?: string | null) => BaseError;
120
+ type ErrorClass = new (message?: string | null, options?: BevorErrorOptions) => BevorError;
106
121
  /** Used to reconstruct typed errors from HTTP error response bodies. */
107
- export declare const ERROR_REGISTRY: Partial<Record<AppErrorTypes, ErrorClass>>;
122
+ export declare const ERROR_REGISTRY: Partial<Record<BevorErrorTypes, ErrorClass>>;
108
123
  export {};
109
124
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -13,55 +13,63 @@ export class APIError extends Error {
13
13
  }
14
14
  }
15
15
  /** Base class for errors the API reports with a known `code`. */
16
- export class BaseError extends Error {
17
- constructor(message) {
16
+ export class BevorError extends Error {
17
+ requestId;
18
+ extra;
19
+ constructor(message, options = {}) {
18
20
  super(message ?? "");
19
21
  this.name = new.target.name;
22
+ this.requestId = options.requestId ?? null;
23
+ this.extra = options.extra ?? [];
20
24
  }
21
25
  get details() {
22
26
  return { message: this.message, code: this.code };
23
27
  }
28
+ toString() {
29
+ const base = `${this.name}: ${this.message}`;
30
+ return this.requestId ? `${base} (request ID: ${this.requestId})` : base;
31
+ }
24
32
  }
25
33
  // base classes
26
34
  /** Base class for all authentication/authorization errors. */
27
- export class AuthException extends BaseError {
35
+ export class AuthError extends BevorError {
28
36
  }
29
37
  /** Base class for all code-related errors. */
30
- export class CodeException extends BaseError {
38
+ export class CodeError extends BevorError {
31
39
  }
32
40
  /** Base class for all payment-related errors. */
33
- export class PaymentException extends BaseError {
41
+ export class PaymentError extends BevorError {
34
42
  code = "payment.error";
35
43
  statusCode = 402;
36
44
  }
37
45
  /** Too many requests. Retrying later succeeds. */
38
- export class RateLimitException extends BaseError {
46
+ export class RateLimitError extends BevorError {
39
47
  code = "app.rate_limit";
40
48
  statusCode = 429;
41
49
  }
42
50
  // auth
43
- export class SessionExpiredError extends AuthException {
51
+ export class SessionExpiredError extends AuthError {
44
52
  code = "auth.session_expired";
45
53
  statusCode = 401;
46
54
  }
47
- export class UnauthenticatedError extends AuthException {
55
+ export class UnauthenticatedError extends AuthError {
48
56
  code = "auth.unauthenticated";
49
57
  statusCode = 401;
50
58
  }
51
- export class PaymentRequiredError extends AuthException {
59
+ export class PaymentRequiredError extends AuthError {
52
60
  code = "auth.payment_required";
53
61
  statusCode = 402;
54
62
  }
55
- export class UnauthorizedError extends AuthException {
63
+ export class UnauthorizedError extends AuthError {
56
64
  code = "auth.unauthorized";
57
65
  statusCode = 403;
58
66
  }
59
67
  /** Authenticated, but not allowed. Re-authenticating won't fix it. */
60
- export class InvalidPermissionsError extends AuthException {
68
+ export class InvalidPermissionsError extends AuthError {
61
69
  code = "auth.invalid_permissions";
62
70
  statusCode = 403;
63
71
  }
64
- export class InvalidScopeError extends AuthException {
72
+ export class InvalidScopeError extends AuthError {
65
73
  code = "auth.invalid_scope";
66
74
  statusCode = 403;
67
75
  }
@@ -70,12 +78,19 @@ export class InvalidScopeError extends AuthException {
70
78
  * The request is wrong for this endpoint, regardless of any resource's state.
71
79
  * e.g. a required header is missing, or the project kind doesn't support the route.
72
80
  */
73
- export class BadRequestException extends BaseError {
81
+ export class BadRequestError extends BevorError {
74
82
  code = "error.bad_request";
75
83
  statusCode = 400;
76
84
  }
85
+ /**
86
+ * For endpoints that accept arbitrary bytes, primarly for folder uploads.
87
+ */
88
+ export class PayloadTooLargeError extends BevorError {
89
+ code = "error.payload_too_large";
90
+ statusCode = 413;
91
+ }
77
92
  /** Doesn't exist, was deleted, or isn't visible to the caller. */
78
- export class NotFoundError extends BaseError {
93
+ export class NotFoundError extends BevorError {
79
94
  code = "error.not_found";
80
95
  statusCode = 404;
81
96
  }
@@ -83,30 +98,30 @@ export class NotFoundError extends BaseError {
83
98
  * The resource's current state forbids the action. e.g. a pipeline is running,
84
99
  * changes are staged, or it already exists.
85
100
  */
86
- export class InvalidStateException extends BaseError {
101
+ export class InvalidStateError extends BevorError {
87
102
  code = "error.invalid_state";
88
103
  statusCode = 409;
89
104
  }
90
105
  /** Our failure, or an upstream service's. Retrying may succeed. */
91
- export class ServerException extends BaseError {
106
+ export class ServerError extends BevorError {
92
107
  code = "error.server";
93
108
  statusCode = 500;
94
109
  }
95
110
  /** A plan or usage limit was reached. Retrying won't help, upgrading will. */
96
- export class PlanLimitException extends BaseError {
111
+ export class PlanLimitError extends BevorError {
97
112
  code = "error.plan_limit";
98
113
  statusCode = 402;
99
114
  }
100
115
  // domain
101
- export class CodeUnsupportedException extends CodeException {
116
+ export class CodeUnsupportedError extends CodeError {
102
117
  code = "code.unsupported";
103
118
  statusCode = 400;
104
119
  }
105
- export class CodeConflictException extends CodeException {
120
+ export class CodeConflictError extends CodeError {
106
121
  code = "code.conflict";
107
122
  statusCode = 409;
108
123
  }
109
- export class PaymentFailedException extends PaymentException {
124
+ export class PaymentFailedError extends PaymentError {
110
125
  code = "payment.failed";
111
126
  statusCode = 402;
112
127
  }
@@ -118,15 +133,16 @@ export const ERROR_REGISTRY = {
118
133
  "auth.payment_required": PaymentRequiredError,
119
134
  "auth.invalid_permissions": InvalidPermissionsError,
120
135
  "auth.invalid_scope": InvalidScopeError,
121
- "error.bad_request": BadRequestException,
136
+ "error.bad_request": BadRequestError,
137
+ "error.payload_too_large": PayloadTooLargeError,
122
138
  "error.not_found": NotFoundError,
123
- "error.plan_limit": PlanLimitException,
124
- "error.invalid_state": InvalidStateException,
125
- "error.server": ServerException,
126
- "app.rate_limit": RateLimitException,
127
- "payment.error": PaymentException,
128
- "payment.failed": PaymentFailedException,
129
- "code.unsupported": CodeUnsupportedException,
130
- "code.conflict": CodeConflictException,
139
+ "error.plan_limit": PlanLimitError,
140
+ "error.invalid_state": InvalidStateError,
141
+ "error.server": ServerError,
142
+ "app.rate_limit": RateLimitError,
143
+ "payment.error": PaymentError,
144
+ "payment.failed": PaymentFailedError,
145
+ "code.unsupported": CodeUnsupportedError,
146
+ "code.conflict": CodeConflictError,
131
147
  };
132
148
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}