@nvisy/sdk 0.11.0 → 0.13.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.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,40 @@ and this project adheres to
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.13.0] - 2026-08-05
12
+
13
+ ### Changed
14
+
15
+ - Regenerated the API schema against the updated platform handlers
16
+
17
+ ### Removed
18
+
19
+ - **BREAKING**: `account.getAvatar()` and `workspaces.getAvatar()`. Avatar
20
+ images are now served from a content-addressed path exposed as the
21
+ `avatarUrl` field on the account/workspace; fetch that URL directly.
22
+ Uploading (`uploadAvatar`) and deleting (`deleteAvatar`) are unchanged.
23
+
24
+ ## [0.12.0] - 2026-08-05
25
+
26
+ ### Added
27
+
28
+ - `@nvisy/sdk/webhooks` — utilities for receiving webhooks, built on Web
29
+ Crypto (works in Node, browsers, edge runtimes, and workers):
30
+ - `verifyWebhook()` / `constructEvent()` — verify a signature and parse the
31
+ event from raw values
32
+ - `verifyRequest()` / `constructEventFromRequest()` — accept a standard
33
+ Fetch `Request`, for web-standard frameworks (Hono, Next.js App Router,
34
+ Remix, SvelteKit, Deno, Bun, Cloudflare Workers)
35
+ - `WEBHOOK_HEADERS` constant and `WebhookSignatureError`
36
+ - HMAC-SHA256 verification with constant-time comparison and timestamp
37
+ replay protection
38
+ - `AccountRef` datatype — the public account reference (username, display
39
+ name, avatar) embedded in resources by their creator/trigger fields
40
+
41
+ ### Changed
42
+
43
+ - Regenerated the API schema against the updated platform handlers
44
+
11
45
  ## [0.11.0] - 2026-08-04
12
46
 
13
47
  ### Added
@@ -278,7 +312,9 @@ and this project adheres to
278
312
  - Network error handling for timeouts, DNS resolution, and connection issues
279
313
  - Configuration validation with detailed error messages
280
314
 
281
- [Unreleased]: https://github.com/nvisycom/sdk-ts/compare/v0.11.0...HEAD
315
+ [Unreleased]: https://github.com/nvisycom/sdk-ts/compare/v0.13.0...HEAD
316
+ [0.13.0]: https://github.com/nvisycom/sdk-ts/compare/v0.12.0...v0.13.0
317
+ [0.12.0]: https://github.com/nvisycom/sdk-ts/compare/v0.11.0...v0.12.0
282
318
  [0.11.0]: https://github.com/nvisycom/sdk-ts/compare/v0.10.0...v0.11.0
283
319
  [0.10.0]: https://github.com/nvisycom/sdk-ts/compare/v0.9.0...v0.10.0
284
320
  [0.9.0]: https://github.com/nvisycom/sdk-ts/compare/v0.8.0...v0.9.0
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Nvisy SDK for TypeScript
1
+ # @nvisy/sdk
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/@nvisy/sdk?style=flat-square)](https://www.npmjs.com/package/@nvisy/sdk)
4
4
  [![Build](https://img.shields.io/github/actions/workflow/status/nvisycom/sdk-ts/build.yml?branch=main&label=build%20%26%20test&style=flat-square)](https://github.com/nvisycom/sdk-ts/actions/workflows/build.yml)
@@ -10,12 +10,6 @@ It combines deterministic patterns, NER, computer vision, and LLM-driven classif
10
10
  into auditable, policy-driven pipelines built for regulated industries such as
11
11
  healthcare, legal, government, and financial services.
12
12
 
13
- > [!WARNING]
14
- > **Active development: API not stable.** This project is under active
15
- > development. Public APIs, configuration shapes, and on-disk formats may change
16
- > without notice between releases. Pin a specific version if you depend on this
17
- > in production.
18
-
19
13
  ## Installation
20
14
 
21
15
  ```bash
@@ -1,5 +1,5 @@
1
1
  import { t as ClientConfig } from "../config-BRQp8Cat.js";
2
- import { Lt as AuthToken, Rt as Login, zt as Signup } from "../index-BAyMQmm6.js";
2
+ import { Lt as AuthToken, Rt as Login, zt as Signup } from "../index-HUG77R_t.js";
3
3
  //#region src/auth/config.d.ts
4
4
  /**
5
5
  * Configuration options for standalone authentication functions.
@@ -1,4 +1,4 @@
1
- import { i as DEFAULTS, t as errorMiddleware } from "../error-DmkKaDjI.js";
1
+ import { n as DEFAULTS, t as errorMiddleware } from "../error-C_RvXw4Z.js";
2
2
  import createClient from "openapi-fetch";
3
3
 
4
4
  //#region src/auth/password.ts
@@ -1,5 +1,5 @@
1
1
  import { t as ClientConfig } from "./config-BRQp8Cat.js";
2
- import { $t as paths, B as NotificationPage, Bt as ApiToken, Ct as ConnectionPage, D as UpdatePolicy, E as PolicySummaryPage, Et as ConnectionVerification, G as Member, H as UnreadStatus, I as UpdatePipeline, It as UpdateConnection, J as UpdateMember, Jt as ActivityPage, K as MemberPage, Kt as UpdateApiToken, L as CursorPagination, Lt as AuthToken, M as PipelineStatus, O as CreatePipeline, Ot as CreateConnection, P as PipelineSummaryPage, Pt as SyncStatus, Q as InviteCode, Qt as UpdateAccount, Rt as Login, S as Policy, Tt as ConnectionSyncPage, U as UpdateNotificationSettings, Ut as ApiTokenWithJWT, V as NotificationSettings, Vt as ApiTokenPage, W as ListMembers, Wt as CreateApiToken, X as GenerateInviteCode, Xt as Account$1, Y as CreateInvite, Zt as PublicAccount, _ as CreatePipelineRun, _t as UpdateFile, at as ListInvites, b as PipelineRunStatus, c as UpdateWebhook, dt as File, et as InvitePage, f as WebhookPage, ft as FilePage, h as AnalyzedDocument, ht as ListFiles, i as WorkspacePage, jt as SyncConnection, k as Pipeline, l as Webhook, lt as Health, n as UpdateWorkspace, nt as InviteSent, o as CreateWebhook, ot as ReplyInvite, p as WebhookResult, r as Workspace, s as TestWebhook, t as CreateWorkspace, tt as InvitePreview, u as WebhookCreated, v as PipelineRun, wt as ConnectionSync, x as CreatePolicy, xt as Connection, y as PipelineRunPage, zt as Signup } from "./index-BAyMQmm6.js";
2
+ import { $t as UpdateAccount, B as NotificationPage, Bt as ApiToken, Ct as ConnectionPage, D as UpdatePolicy, E as PolicySummaryPage, Et as ConnectionVerification, G as Member, H as UnreadStatus, I as UpdatePipeline, It as UpdateConnection, J as UpdateMember, Jt as ActivityPage, K as MemberPage, Kt as UpdateApiToken, L as CursorPagination, Lt as AuthToken, M as PipelineStatus, O as CreatePipeline, Ot as CreateConnection, P as PipelineSummaryPage, Pt as SyncStatus, Q as InviteCode, Qt as PublicAccount, Rt as Login, S as Policy, Tt as ConnectionSyncPage, U as UpdateNotificationSettings, Ut as ApiTokenWithJWT, V as NotificationSettings, Vt as ApiTokenPage, W as ListMembers, Wt as CreateApiToken, X as GenerateInviteCode, Xt as Account$1, Y as CreateInvite, _ as CreatePipelineRun, _t as UpdateFile, at as ListInvites, b as PipelineRunStatus, c as UpdateWebhook, dt as File, en as paths, et as InvitePage, f as WebhookPage, ft as FilePage, h as AnalyzedDocument, ht as ListFiles, i as WorkspacePage, jt as SyncConnection, k as Pipeline, l as Webhook, lt as Health, n as UpdateWorkspace, nt as InviteSent, o as CreateWebhook, ot as ReplyInvite, p as WebhookResult, r as Workspace, s as TestWebhook, t as CreateWorkspace, tt as InvitePreview, u as WebhookCreated, v as PipelineRun, wt as ConnectionSync, x as CreatePolicy, xt as Connection, y as PipelineRunPage, zt as Signup } from "./index-HUG77R_t.js";
3
3
  import { Client } from "openapi-fetch";
4
4
  //#region src/services/account.d.ts
5
5
  /**
@@ -34,13 +34,6 @@ declare class Account {
34
34
  * @throws {ApiError} if the request fails
35
35
  */
36
36
  getPublicAccount(username: string): Promise<PublicAccount>;
37
- /**
38
- * Download an account's avatar image
39
- * @param username - Account username
40
- * @returns Promise that resolves with the avatar response
41
- * @throws {ApiError} if the request fails
42
- */
43
- getAvatar(username: string): Promise<Response>;
44
37
  /**
45
38
  * Upload an account's avatar image
46
39
  * @param username - Account username
@@ -754,13 +747,6 @@ declare class Workspaces {
754
747
  * @throws {ApiError} if the request fails
755
748
  */
756
749
  updateNotificationSettings(workspaceSlug: string, settings: UpdateNotificationSettings): Promise<NotificationSettings>;
757
- /**
758
- * Download a workspace's avatar image
759
- * @param workspaceSlug - Workspace slug
760
- * @returns Promise that resolves with the avatar response
761
- * @throws {ApiError} if the request fails
762
- */
763
- getAvatar(workspaceSlug: string): Promise<Response>;
764
750
  /**
765
751
  * Upload a workspace's avatar image
766
752
  * @param workspaceSlug - Workspace slug
@@ -917,4 +903,4 @@ declare class Nvisy {
917
903
  }
918
904
  //#endregion
919
905
  export { Activities as _, Syncs as a, Policies as c, Members as d, Invites as f, ApiTokens as g, Auth as h, Webhooks as i, Pipelines as l, Connections as m, Nvisy as n, Status as o, Files as p, Workspaces as r, Runs as s, ApiClient as t, Notifications as u, Account as v };
920
- //# sourceMappingURL=client-SOt0c3k7.d.ts.map
906
+ //# sourceMappingURL=client-DN7ckSJH.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-DN7ckSJH.d.ts","names":[],"sources":["../src/services/account.ts","../src/services/activities.ts","../src/services/api-tokens.ts","../src/services/auth.ts","../src/services/connections.ts","../src/services/files.ts","../src/services/invites.ts","../src/services/members.ts","../src/services/notifications.ts","../src/services/pipelines.ts","../src/services/policies.ts","../src/services/runs.ts","../src/services/status.ts","../src/services/syncs.ts","../src/services/webhooks.ts","../src/services/workspaces.ts","../src/client.ts"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { $ as InviteExpiration, A as PipelineDefinition, At as S3Credentials, B as NotificationPage, Bt as ApiToken, C as PolicyDefinition, Ct as ConnectionPage, D as UpdatePolicy, Dt as ConnectionsQuery, E as PolicySummaryPage, Et as ConnectionVerification, F as PipelineTriggerType, Ft as SyncTriggerType, G as Member, Gt as TokenExpiration, H as UnreadStatus, Ht as ApiTokenType, I as UpdatePipeline, It as UpdateConnection, J as UpdateMember, Jt as ActivityPage, K as MemberPage, Kt as UpdateApiToken, L as CursorPagination, Lt as AuthToken, M as PipelineStatus, Mt as SyncDeletionPolicy, N as PipelineSummary, Nt as SyncMode, O as CreatePipeline, Ot as CreateConnection, P as PipelineSummaryPage, Pt as SyncStatus, Q as InviteCode, Qt as UpdateAccount, R as Notification, Rt as Login, S as Policy, St as ConnectionConfig, T as PolicySummary, Tt as ConnectionSyncPage, U as UpdateNotificationSettings, Ut as ApiTokenWithJWT, V as NotificationSettings, Vt as ApiTokenPage, W as ListMembers, Wt as CreateApiToken, X as GenerateInviteCode, Xt as Account, Y as CreateInvite, Yt as ActivityType, Z as Invite, Zt as PublicAccount, _ as CreatePipelineRun, _t as UpdateFile, a as WorkspaceRole, at as ListInvites, b as PipelineRunStatus, bt as AzureCredentials, c as UpdateWebhook, ct as ComponentHealth, d as WebhookEvent, dt as File, et as InvitePage, f as WebhookPage, ft as FilePage, g as Artifact, gt as ModalityToken, h as AnalyzedDocument, ht as ListFiles, i as WorkspacePage, it as InviteStatus, j as PipelineFilter, jt as SyncConnection, k as Pipeline, kt as GcsCredentials, l as Webhook, lt as Health, m as WebhookStatus, mt as FormatToken, n as UpdateWorkspace, nt as InviteSent, o as CreateWebhook, ot as ReplyInvite, p as WebhookResult, pt as FileSource, q as MemberSortField, qt as Activity, r as Workspace, rt as InviteSortField, s as TestWebhook, st as SortOrder, t as CreateWorkspace, tt as InvitePreview, u as WebhookCreated, ut as HealthStatus, v as PipelineRun, vt as ErrorResponse, w as PolicyRule, wt as ConnectionSync, x as CreatePolicy, xt as Connection, y as PipelineRunPage, yt as ValidationErrorDetail, z as NotificationEvent, zt as Signup } from "../index-BAyMQmm6.js";
2
- export type { Account, Activity, ActivityPage, ActivityType, AnalyzedDocument, ApiToken, ApiTokenPage, ApiTokenType, ApiTokenWithJWT, Artifact, AuthToken, AzureCredentials, ComponentHealth, Connection, ConnectionConfig, ConnectionPage, ConnectionSync, ConnectionSyncPage, ConnectionVerification, ConnectionsQuery, CreateApiToken, CreateConnection, CreateInvite, CreatePipeline, CreatePipelineRun, CreatePolicy, CreateWebhook, CreateWorkspace, CursorPagination, ErrorResponse, File, FilePage, FileSource, FormatToken, GcsCredentials, GenerateInviteCode, Health, HealthStatus, Invite, InviteCode, InviteExpiration, InvitePage, InvitePreview, InviteSent, InviteSortField, InviteStatus, ListFiles, ListInvites, ListMembers, Login, Member, MemberPage, MemberSortField, ModalityToken, Notification, NotificationEvent, NotificationPage, NotificationSettings, Pipeline, PipelineDefinition, PipelineFilter, PipelineRun, PipelineRunPage, PipelineRunStatus, PipelineStatus, PipelineSummary, PipelineSummaryPage, PipelineTriggerType, Policy, PolicyDefinition, PolicyRule, PolicySummary, PolicySummaryPage, PublicAccount, ReplyInvite, S3Credentials, Signup, SortOrder, SyncConnection, SyncDeletionPolicy, SyncMode, SyncStatus, SyncTriggerType, TestWebhook, TokenExpiration, UnreadStatus, UpdateAccount, UpdateApiToken, UpdateConnection, UpdateFile, UpdateMember, UpdateNotificationSettings, UpdatePipeline, UpdatePolicy, UpdateWebhook, UpdateWorkspace, ValidationErrorDetail, Webhook, WebhookCreated, WebhookEvent, WebhookPage, WebhookResult, WebhookStatus, Workspace, WorkspacePage, WorkspaceRole };
1
+ import { $ as InviteExpiration, $t as UpdateAccount, A as PipelineDefinition, At as S3Credentials, B as NotificationPage, Bt as ApiToken, C as PolicyDefinition, Ct as ConnectionPage, D as UpdatePolicy, Dt as ConnectionsQuery, E as PolicySummaryPage, Et as ConnectionVerification, F as PipelineTriggerType, Ft as SyncTriggerType, G as Member, Gt as TokenExpiration, H as UnreadStatus, Ht as ApiTokenType, I as UpdatePipeline, It as UpdateConnection, J as UpdateMember, Jt as ActivityPage, K as MemberPage, Kt as UpdateApiToken, L as CursorPagination, Lt as AuthToken, M as PipelineStatus, Mt as SyncDeletionPolicy, N as PipelineSummary, Nt as SyncMode, O as CreatePipeline, Ot as CreateConnection, P as PipelineSummaryPage, Pt as SyncStatus, Q as InviteCode, Qt as PublicAccount, R as Notification, Rt as Login, S as Policy, St as ConnectionConfig, T as PolicySummary, Tt as ConnectionSyncPage, U as UpdateNotificationSettings, Ut as ApiTokenWithJWT, V as NotificationSettings, Vt as ApiTokenPage, W as ListMembers, Wt as CreateApiToken, X as GenerateInviteCode, Xt as Account, Y as CreateInvite, Yt as ActivityType, Z as Invite, Zt as AccountRef, _ as CreatePipelineRun, _t as UpdateFile, a as WorkspaceRole, at as ListInvites, b as PipelineRunStatus, bt as AzureCredentials, c as UpdateWebhook, ct as ComponentHealth, d as WebhookEvent, dt as File, et as InvitePage, f as WebhookPage, ft as FilePage, g as Artifact, gt as ModalityToken, h as AnalyzedDocument, ht as ListFiles, i as WorkspacePage, it as InviteStatus, j as PipelineFilter, jt as SyncConnection, k as Pipeline, kt as GcsCredentials, l as Webhook, lt as Health, m as WebhookStatus, mt as FormatToken, n as UpdateWorkspace, nt as InviteSent, o as CreateWebhook, ot as ReplyInvite, p as WebhookResult, pt as FileSource, q as MemberSortField, qt as Activity, r as Workspace, rt as InviteSortField, s as TestWebhook, st as SortOrder, t as CreateWorkspace, tt as InvitePreview, u as WebhookCreated, ut as HealthStatus, v as PipelineRun, vt as ErrorResponse, w as PolicyRule, wt as ConnectionSync, x as CreatePolicy, xt as Connection, y as PipelineRunPage, yt as ValidationErrorDetail, z as NotificationEvent, zt as Signup } from "../index-HUG77R_t.js";
2
+ export type { Account, AccountRef, Activity, ActivityPage, ActivityType, AnalyzedDocument, ApiToken, ApiTokenPage, ApiTokenType, ApiTokenWithJWT, Artifact, AuthToken, AzureCredentials, ComponentHealth, Connection, ConnectionConfig, ConnectionPage, ConnectionSync, ConnectionSyncPage, ConnectionVerification, ConnectionsQuery, CreateApiToken, CreateConnection, CreateInvite, CreatePipeline, CreatePipelineRun, CreatePolicy, CreateWebhook, CreateWorkspace, CursorPagination, ErrorResponse, File, FilePage, FileSource, FormatToken, GcsCredentials, GenerateInviteCode, Health, HealthStatus, Invite, InviteCode, InviteExpiration, InvitePage, InvitePreview, InviteSent, InviteSortField, InviteStatus, ListFiles, ListInvites, ListMembers, Login, Member, MemberPage, MemberSortField, ModalityToken, Notification, NotificationEvent, NotificationPage, NotificationSettings, Pipeline, PipelineDefinition, PipelineFilter, PipelineRun, PipelineRunPage, PipelineRunStatus, PipelineStatus, PipelineSummary, PipelineSummaryPage, PipelineTriggerType, Policy, PolicyDefinition, PolicyRule, PolicySummary, PolicySummaryPage, PublicAccount, ReplyInvite, S3Credentials, Signup, SortOrder, SyncConnection, SyncDeletionPolicy, SyncMode, SyncStatus, SyncTriggerType, TestWebhook, TokenExpiration, UnreadStatus, UpdateAccount, UpdateApiToken, UpdateConnection, UpdateFile, UpdateMember, UpdateNotificationSettings, UpdatePipeline, UpdatePolicy, UpdateWebhook, UpdateWorkspace, ValidationErrorDetail, Webhook, WebhookCreated, WebhookEvent, WebhookPage, WebhookResult, WebhookStatus, Workspace, WorkspacePage, WorkspaceRole };
@@ -0,0 +1,51 @@
1
+ import { n as NvisyError, t as NvisyApiError } from "./errors-BOLD8iC1.js";
2
+
3
+ //#region src/config.ts
4
+ /**
5
+ * @fileoverview Configuration types and constants for the Nvisy SDK.
6
+ *
7
+ * This module provides configuration interfaces, default values, and environment
8
+ * variable names used throughout the SDK.
9
+ *
10
+ * @module config
11
+ */
12
+ /**
13
+ * Current SDK version.
14
+ *
15
+ * Used in the default user agent string and for version tracking.
16
+ */
17
+ const VERSION = "0.3.0";
18
+ /**
19
+ * Default configuration values used when options are not explicitly provided.
20
+ */
21
+ const DEFAULTS = {
22
+ /**
23
+ * Default base URL for the Nvisy API.
24
+ */
25
+ BASE_URL: "https://api.nvisy.com",
26
+ /**
27
+ * Default user agent string.
28
+ */
29
+ USER_AGENT: `@nvisy/sdk v.${VERSION}`
30
+ };
31
+
32
+ //#endregion
33
+ //#region src/middleware/error.ts
34
+ /**
35
+ * Middleware that automatically throws NvisyApiError for error responses.
36
+ * This replaces the need for manual checks in services.
37
+ */
38
+ const errorMiddleware = {
39
+ async onResponse({ response }) {
40
+ if (!response.ok) throw new NvisyApiError(await response.clone().json(), response.status);
41
+ return response;
42
+ },
43
+ onError({ error }) {
44
+ if (error instanceof Error) throw new NvisyError(error.message);
45
+ throw new NvisyError("An unknown network error occurred");
46
+ }
47
+ };
48
+
49
+ //#endregion
50
+ export { DEFAULTS as n, VERSION as r, errorMiddleware as t };
51
+ //# sourceMappingURL=error-C_RvXw4Z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-C_RvXw4Z.js","names":[],"sources":["../src/config.ts","../src/middleware/error.ts"],"sourcesContent":["/**\n * @fileoverview Configuration types and constants for the Nvisy SDK.\n *\n * This module provides configuration interfaces, default values, and environment\n * variable names used throughout the SDK.\n *\n * @module config\n */\n\n/**\n * Current SDK version.\n *\n * Used in the default user agent string and for version tracking.\n */\nexport const VERSION = \"0.3.0\";\n\n/**\n * Configuration options for creating a Nvisy client.\n *\n * The `apiToken` field is required for authentication. All other fields are optional\n * and will use sensible defaults when omitted.\n *\n * @example\n * ```typescript\n * const config: ClientConfig = {\n * apiToken: \"your-api-token\",\n * baseUrl: \"https://api.nvisy.com\",\n * headers: { \"X-Custom-Header\": \"value\" },\n * };\n * const client = new Client(config);\n * ```\n */\nexport interface ClientConfig {\n\t/**\n\t * API token for authentication.\n\t *\n\t * Tokens can be obtained from the Nvisy dashboard or via the auth endpoints.\n\t */\n\tapiToken: string;\n\n\t/**\n\t * Base URL for the Nvisy API.\n\t *\n\t * @default \"https://api.nvisy.com\"\n\t */\n\tbaseUrl?: string;\n\n\t/**\n\t * Custom headers to include with every request.\n\t *\n\t * These headers are merged with the default headers (Content-Type, User-Agent,\n\t * and Authorization). Custom headers take precedence over defaults if there\n\t * are conflicts.\n\t */\n\theaders?: Record<string, string>;\n\n\t/**\n\t * Custom user agent string to identify your application.\n\t *\n\t * @default \"@nvisy/sdk v.{version}\"\n\t */\n\tuserAgent?: string;\n\n\t/**\n\t * Enable logging for requests and responses.\n\t *\n\t * When enabled, logs request method, URL, status, and timing to console.\n\t *\n\t * @default false\n\t */\n\twithLogging?: boolean;\n}\n\n/**\n * Default configuration values used when options are not explicitly provided.\n */\nexport const DEFAULTS = {\n\t/**\n\t * Default base URL for the Nvisy API.\n\t */\n\tBASE_URL: \"https://api.nvisy.com\",\n\n\t/**\n\t * Default user agent string.\n\t */\n\tUSER_AGENT: `@nvisy/sdk v.${VERSION}`,\n} as const;\n","import type { Middleware } from \"openapi-fetch\";\nimport type { ErrorResponse } from \"@/datatypes/index.js\";\nimport { NvisyApiError, NvisyError } from \"@/errors.js\";\n\n/**\n * Middleware that automatically throws NvisyApiError for error responses.\n * This replaces the need for manual checks in services.\n */\nexport const errorMiddleware: Middleware = {\n\tasync onResponse({ response }) {\n\t\tif (!response.ok) {\n\t\t\tconst error = (await response.clone().json()) as ErrorResponse;\n\t\t\tthrow new NvisyApiError(error, response.status);\n\t\t}\n\t\treturn response;\n\t},\n\n\tonError({ error }) {\n\t\t// Wrap fetch errors (network failures, CORS, etc.) in NvisyError\n\t\tif (error instanceof Error) {\n\t\t\tthrow new NvisyError(error.message);\n\t\t}\n\t\tthrow new NvisyError(\"An unknown network error occurred\");\n\t},\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAcA,MAAa,UAAU;;;;AA8DvB,MAAa,WAAW;;;;CAIvB,UAAU;;;;CAKV,YAAY,gBAAgB;AAC7B;;;;;;;;AC9EA,MAAa,kBAA8B;CAC1C,MAAM,WAAW,EAAE,YAAY;EAC9B,IAAI,CAAC,SAAS,IAEb,MAAM,IAAI,cAAc,MADH,SAAS,MAAM,CAAC,CAAC,KAAK,GACZ,SAAS,MAAM;EAE/C,OAAO;CACR;CAEA,QAAQ,EAAE,SAAS;EAElB,IAAI,iBAAiB,OACpB,MAAM,IAAI,WAAW,MAAM,OAAO;EAEnC,MAAM,IAAI,WAAW,mCAAmC;CACzD;AACD"}
@@ -1,33 +1,3 @@
1
- //#region src/config.ts
2
- /**
3
- * @fileoverview Configuration types and constants for the Nvisy SDK.
4
- *
5
- * This module provides configuration interfaces, default values, and environment
6
- * variable names used throughout the SDK.
7
- *
8
- * @module config
9
- */
10
- /**
11
- * Current SDK version.
12
- *
13
- * Used in the default user agent string and for version tracking.
14
- */
15
- const VERSION = "0.3.0";
16
- /**
17
- * Default configuration values used when options are not explicitly provided.
18
- */
19
- const DEFAULTS = {
20
- /**
21
- * Default base URL for the Nvisy API.
22
- */
23
- BASE_URL: "https://api.nvisy.com",
24
- /**
25
- * Default user agent string.
26
- */
27
- USER_AGENT: `@nvisy/sdk v.${VERSION}`
28
- };
29
-
30
- //#endregion
31
1
  //#region src/errors.ts
32
2
  /**
33
3
  * Base error class for all Nvisy SDK errors.
@@ -178,22 +148,5 @@ var NvisyApiError = class extends NvisyError {
178
148
  };
179
149
 
180
150
  //#endregion
181
- //#region src/middleware/error.ts
182
- /**
183
- * Middleware that automatically throws NvisyApiError for error responses.
184
- * This replaces the need for manual checks in services.
185
- */
186
- const errorMiddleware = {
187
- async onResponse({ response }) {
188
- if (!response.ok) throw new NvisyApiError(await response.clone().json(), response.status);
189
- return response;
190
- },
191
- onError({ error }) {
192
- if (error instanceof Error) throw new NvisyError(error.message);
193
- throw new NvisyError("An unknown network error occurred");
194
- }
195
- };
196
-
197
- //#endregion
198
- export { VERSION as a, DEFAULTS as i, NvisyApiError as n, NvisyError as r, errorMiddleware as t };
199
- //# sourceMappingURL=error-DmkKaDjI.js.map
151
+ export { NvisyError as n, NvisyApiError as t };
152
+ //# sourceMappingURL=errors-BOLD8iC1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-BOLD8iC1.js","names":[],"sources":["../src/errors.ts"],"sourcesContent":["/**\n * @fileoverview Error types for the Nvisy SDK.\n *\n * This module defines the error hierarchy used throughout the SDK:\n * - {@link NvisyError} - Base error class for all SDK errors\n * - {@link NvisyApiError} - Errors returned by the Nvisy API (4xx/5xx responses)\n *\n * @module errors\n */\n\nimport type { ErrorResponse } from \"@/datatypes/index.js\";\n\n// Re-export ErrorResponse type for convenience\nexport type { ErrorResponse } from \"@/datatypes/index.js\";\n\n/**\n * Base error class for all Nvisy SDK errors.\n *\n * This class provides common functionality for all SDK errors.\n * It ensures proper error naming and stack traces.\n *\n * @example\n * ```typescript\n * try {\n * const client = new Client({ apiToken: \"\" });\n * } catch (error) {\n * if (error instanceof NvisyError) {\n * console.log(\"SDK error:\", error.message);\n * }\n * }\n * ```\n */\nexport class NvisyError extends Error {\n\t/**\n\t * The error class name.\n\t */\n\tpublic readonly name: string;\n\n\t/**\n\t * Creates a new NvisyError.\n\t *\n\t * @param message - The error message\n\t */\n\tconstructor(message: string) {\n\t\tsuper(message);\n\t\tthis.name = this.constructor.name;\n\t}\n}\n\n/**\n * Error thrown when the Nvisy API returns an error response.\n *\n * This error class wraps the API's {@link ErrorResponse} format and adds\n * the HTTP status code. It provides helper methods to categorize errors\n * and determine if they are retryable.\n *\n * @example\n * ```typescript\n * try {\n * await client.account.getAccount();\n * } catch (error) {\n * if (error instanceof NvisyApiError) {\n * console.log(`API Error: ${error.message}`);\n * console.log(`Status: ${error.statusCode}`);\n * if (error.isRetryable()) {\n * // Implement retry logic\n * }\n * }\n * }\n * ```\n */\nexport class NvisyApiError extends NvisyError implements ErrorResponse {\n\t/**\n\t * The error type identifier (e.g., \"ValidationError\", \"NotFoundError\").\n\t */\n\tpublic readonly name: string;\n\n\t/**\n\t * Human-readable error message safe for display to end users.\n\t */\n\tpublic readonly message: string;\n\n\t/**\n\t * The resource type that the error relates to (e.g., \"account\", \"project\").\n\t * May be undefined if the error is not resource-specific.\n\t */\n\tpublic readonly resource?: string;\n\n\t/**\n\t * A helpful suggestion for resolving the error.\n\t * May be undefined if no suggestion is available.\n\t */\n\tpublic readonly suggestion?: string;\n\n\t/**\n\t * Field-specific validation errors.\n\t * Present when the error is due to invalid input data.\n\t */\n\tpublic readonly validation?: ErrorResponse[\"validation\"];\n\n\t/**\n\t * HTTP status code of the response (e.g., 400, 404, 500).\n\t */\n\tpublic readonly statusCode: number;\n\n\t/**\n\t * Creates a new NvisyApiError from an API error response.\n\t *\n\t * @param response - The error response from the API\n\t * @param statusCode - The HTTP status code of the response\n\t */\n\tconstructor(response: ErrorResponse, statusCode: number) {\n\t\tsuper(response.message);\n\t\tthis.name = response.name;\n\t\tthis.message = response.message;\n\t\tthis.resource = response.resource;\n\t\tthis.suggestion = response.suggestion;\n\t\tthis.validation = response.validation;\n\t\tthis.statusCode = statusCode;\n\t}\n\n\t/**\n\t * Checks if this is a client error (4xx status code).\n\t *\n\t * Client errors indicate problems with the request itself, such as\n\t * invalid input, missing authentication, or accessing non-existent resources.\n\t *\n\t * @returns True if the status code is in the 4xx range\n\t */\n\tisClientError(): boolean {\n\t\treturn this.statusCode >= 400 && this.statusCode < 500;\n\t}\n\n\t/**\n\t * Checks if this is a server error (5xx status code).\n\t *\n\t * Server errors indicate problems on the API side. These are typically\n\t * transient and may succeed if retried.\n\t *\n\t * @returns True if the status code is in the 5xx range\n\t */\n\tisServerError(): boolean {\n\t\treturn this.statusCode >= 500;\n\t}\n\n\t/**\n\t * Determines if this error is safe to retry.\n\t *\n\t * An error is considered retryable if it's a server error (5xx),\n\t * a request timeout (408), or rate limiting (429).\n\t *\n\t * @returns True if the request may succeed on retry\n\t */\n\tisRetryable(): boolean {\n\t\treturn (\n\t\t\tthis.statusCode >= 500 || // Server errors\n\t\t\tthis.statusCode === 408 || // Request timeout\n\t\t\tthis.statusCode === 429 // Rate limited\n\t\t);\n\t}\n\n\t/**\n\t * Converts the error to a plain {@link ErrorResponse} object.\n\t *\n\t * Useful for serialization or logging.\n\t *\n\t * @returns A plain object representation of the error\n\t */\n\ttoJSON(): ErrorResponse {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tmessage: this.message,\n\t\t\tresource: this.resource,\n\t\t\tsuggestion: this.suggestion,\n\t\t\tvalidation: this.validation,\n\t\t};\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgCA,IAAa,aAAb,cAAgC,MAAM;;;;CAIrC,AAAgB;;;;;;CAOhB,YAAY,SAAiB;EAC5B,MAAM,OAAO;EACb,KAAK,OAAO,KAAK,YAAY;CAC9B;AACD;;;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAa,gBAAb,cAAmC,WAAoC;;;;CAItE,AAAgB;;;;CAKhB,AAAgB;;;;;CAMhB,AAAgB;;;;;CAMhB,AAAgB;;;;;CAMhB,AAAgB;;;;CAKhB,AAAgB;;;;;;;CAQhB,YAAY,UAAyB,YAAoB;EACxD,MAAM,SAAS,OAAO;EACtB,KAAK,OAAO,SAAS;EACrB,KAAK,UAAU,SAAS;EACxB,KAAK,WAAW,SAAS;EACzB,KAAK,aAAa,SAAS;EAC3B,KAAK,aAAa,SAAS;EAC3B,KAAK,aAAa;CACnB;;;;;;;;;CAUA,gBAAyB;EACxB,OAAO,KAAK,cAAc,OAAO,KAAK,aAAa;CACpD;;;;;;;;;CAUA,gBAAyB;EACxB,OAAO,KAAK,cAAc;CAC3B;;;;;;;;;CAUA,cAAuB;EACtB,OACC,KAAK,cAAc,OACnB,KAAK,eAAe,OACpB,KAAK,eAAe;CAEtB;;;;;;;;CASA,SAAwB;EACvB,OAAO;GACN,MAAM,KAAK;GACX,SAAS,KAAK;GACd,UAAU,KAAK;GACf,YAAY,KAAK;GACjB,YAAY,KAAK;EAClB;CACD;AACD"}
@@ -0,0 +1,127 @@
1
+ import { vt as ErrorResponse } from "./index-HUG77R_t.js";
2
+ //#region src/errors.d.ts
3
+ /**
4
+ * Base error class for all Nvisy SDK errors.
5
+ *
6
+ * This class provides common functionality for all SDK errors.
7
+ * It ensures proper error naming and stack traces.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * try {
12
+ * const client = new Client({ apiToken: "" });
13
+ * } catch (error) {
14
+ * if (error instanceof NvisyError) {
15
+ * console.log("SDK error:", error.message);
16
+ * }
17
+ * }
18
+ * ```
19
+ */
20
+ declare class NvisyError extends Error {
21
+ /**
22
+ * The error class name.
23
+ */
24
+ readonly name: string;
25
+ /**
26
+ * Creates a new NvisyError.
27
+ *
28
+ * @param message - The error message
29
+ */
30
+ constructor(message: string);
31
+ }
32
+ /**
33
+ * Error thrown when the Nvisy API returns an error response.
34
+ *
35
+ * This error class wraps the API's {@link ErrorResponse} format and adds
36
+ * the HTTP status code. It provides helper methods to categorize errors
37
+ * and determine if they are retryable.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * try {
42
+ * await client.account.getAccount();
43
+ * } catch (error) {
44
+ * if (error instanceof NvisyApiError) {
45
+ * console.log(`API Error: ${error.message}`);
46
+ * console.log(`Status: ${error.statusCode}`);
47
+ * if (error.isRetryable()) {
48
+ * // Implement retry logic
49
+ * }
50
+ * }
51
+ * }
52
+ * ```
53
+ */
54
+ declare class NvisyApiError extends NvisyError implements ErrorResponse {
55
+ /**
56
+ * The error type identifier (e.g., "ValidationError", "NotFoundError").
57
+ */
58
+ readonly name: string;
59
+ /**
60
+ * Human-readable error message safe for display to end users.
61
+ */
62
+ readonly message: string;
63
+ /**
64
+ * The resource type that the error relates to (e.g., "account", "project").
65
+ * May be undefined if the error is not resource-specific.
66
+ */
67
+ readonly resource?: string;
68
+ /**
69
+ * A helpful suggestion for resolving the error.
70
+ * May be undefined if no suggestion is available.
71
+ */
72
+ readonly suggestion?: string;
73
+ /**
74
+ * Field-specific validation errors.
75
+ * Present when the error is due to invalid input data.
76
+ */
77
+ readonly validation?: ErrorResponse["validation"];
78
+ /**
79
+ * HTTP status code of the response (e.g., 400, 404, 500).
80
+ */
81
+ readonly statusCode: number;
82
+ /**
83
+ * Creates a new NvisyApiError from an API error response.
84
+ *
85
+ * @param response - The error response from the API
86
+ * @param statusCode - The HTTP status code of the response
87
+ */
88
+ constructor(response: ErrorResponse, statusCode: number);
89
+ /**
90
+ * Checks if this is a client error (4xx status code).
91
+ *
92
+ * Client errors indicate problems with the request itself, such as
93
+ * invalid input, missing authentication, or accessing non-existent resources.
94
+ *
95
+ * @returns True if the status code is in the 4xx range
96
+ */
97
+ isClientError(): boolean;
98
+ /**
99
+ * Checks if this is a server error (5xx status code).
100
+ *
101
+ * Server errors indicate problems on the API side. These are typically
102
+ * transient and may succeed if retried.
103
+ *
104
+ * @returns True if the status code is in the 5xx range
105
+ */
106
+ isServerError(): boolean;
107
+ /**
108
+ * Determines if this error is safe to retry.
109
+ *
110
+ * An error is considered retryable if it's a server error (5xx),
111
+ * a request timeout (408), or rate limiting (429).
112
+ *
113
+ * @returns True if the request may succeed on retry
114
+ */
115
+ isRetryable(): boolean;
116
+ /**
117
+ * Converts the error to a plain {@link ErrorResponse} object.
118
+ *
119
+ * Useful for serialization or logging.
120
+ *
121
+ * @returns A plain object representation of the error
122
+ */
123
+ toJSON(): ErrorResponse;
124
+ }
125
+ //#endregion
126
+ export { NvisyError as n, NvisyApiError as t };
127
+ //# sourceMappingURL=errors-BfCfSpmA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-BfCfSpmA.d.ts","names":[],"sources":["../src/errors.ts"],"mappings":";;;;;;;;;;;;;;;;;;;cAgCa,mBAAmB;;;;WAIf;;;;;;EAOJ,YAAA;;;;;;;;;;;;;;;;;;;;;;;;cA4BA,sBAAsB,sBAAsB;;;;WAIxC;;;;WAKA;;;;;WAMA;;;;;WAMA;;;;;WAMA,aAAa;;;;WAKb;;;;;;;EAQJ,YAAA,UAAU,eAAe;;;;;;;;;EAkBrC;;;;;;;;;EAYA;;;;;;;;;EAYA;;;;;;;;EAeA,UAAU"}