@wacht/backend 1.0.0-beta.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 (131) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +94 -0
  3. package/dist/api/ai.d.ts +157 -0
  4. package/dist/api/ai.d.ts.map +1 -0
  5. package/dist/api/ai.js +300 -0
  6. package/dist/api/ai.js.map +1 -0
  7. package/dist/api/analytics.d.ts +21 -0
  8. package/dist/api/analytics.d.ts.map +1 -0
  9. package/dist/api/analytics.js +40 -0
  10. package/dist/api/analytics.js.map +1 -0
  11. package/dist/api/api-keys.d.ts +43 -0
  12. package/dist/api/api-keys.d.ts.map +1 -0
  13. package/dist/api/api-keys.js +84 -0
  14. package/dist/api/api-keys.js.map +1 -0
  15. package/dist/api/gateway.d.ts +66 -0
  16. package/dist/api/gateway.d.ts.map +1 -0
  17. package/dist/api/gateway.js +177 -0
  18. package/dist/api/gateway.js.map +1 -0
  19. package/dist/api/health.d.ts +8 -0
  20. package/dist/api/health.d.ts.map +1 -0
  21. package/dist/api/health.js +12 -0
  22. package/dist/api/health.js.map +1 -0
  23. package/dist/api/invitations.d.ts +35 -0
  24. package/dist/api/invitations.d.ts.map +1 -0
  25. package/dist/api/invitations.js +76 -0
  26. package/dist/api/invitations.js.map +1 -0
  27. package/dist/api/notifications.d.ts +27 -0
  28. package/dist/api/notifications.d.ts.map +1 -0
  29. package/dist/api/notifications.js +56 -0
  30. package/dist/api/notifications.js.map +1 -0
  31. package/dist/api/organizations.d.ts +59 -0
  32. package/dist/api/organizations.d.ts.map +1 -0
  33. package/dist/api/organizations.js +125 -0
  34. package/dist/api/organizations.js.map +1 -0
  35. package/dist/api/segments.d.ts +64 -0
  36. package/dist/api/segments.d.ts.map +1 -0
  37. package/dist/api/segments.js +101 -0
  38. package/dist/api/segments.js.map +1 -0
  39. package/dist/api/settings.d.ts +98 -0
  40. package/dist/api/settings.d.ts.map +1 -0
  41. package/dist/api/settings.js +132 -0
  42. package/dist/api/settings.js.map +1 -0
  43. package/dist/api/users.d.ts +67 -0
  44. package/dist/api/users.d.ts.map +1 -0
  45. package/dist/api/users.js +135 -0
  46. package/dist/api/users.js.map +1 -0
  47. package/dist/api/utility.d.ts +9 -0
  48. package/dist/api/utility.d.ts.map +1 -0
  49. package/dist/api/utility.js +19 -0
  50. package/dist/api/utility.js.map +1 -0
  51. package/dist/api/webhooks.d.ts +106 -0
  52. package/dist/api/webhooks.d.ts.map +1 -0
  53. package/dist/api/webhooks.js +209 -0
  54. package/dist/api/webhooks.js.map +1 -0
  55. package/dist/api/workspaces.d.ts +57 -0
  56. package/dist/api/workspaces.d.ts.map +1 -0
  57. package/dist/api/workspaces.js +122 -0
  58. package/dist/api/workspaces.js.map +1 -0
  59. package/dist/client.d.ts +148 -0
  60. package/dist/client.d.ts.map +1 -0
  61. package/dist/client.js +299 -0
  62. package/dist/client.js.map +1 -0
  63. package/dist/error.d.ts +63 -0
  64. package/dist/error.d.ts.map +1 -0
  65. package/dist/error.js +117 -0
  66. package/dist/error.js.map +1 -0
  67. package/dist/index.d.ts +98 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +116 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/jwt.d.ts +1 -0
  72. package/dist/jwt.d.ts.map +1 -0
  73. package/dist/jwt.js +2 -0
  74. package/dist/jwt.js.map +1 -0
  75. package/dist/models/ai.d.ts +218 -0
  76. package/dist/models/ai.d.ts.map +1 -0
  77. package/dist/models/ai.js +3 -0
  78. package/dist/models/ai.js.map +1 -0
  79. package/dist/models/analytics.d.ts +33 -0
  80. package/dist/models/analytics.d.ts.map +1 -0
  81. package/dist/models/analytics.js +3 -0
  82. package/dist/models/analytics.js.map +1 -0
  83. package/dist/models/api-key.d.ts +161 -0
  84. package/dist/models/api-key.d.ts.map +1 -0
  85. package/dist/models/api-key.js +3 -0
  86. package/dist/models/api-key.js.map +1 -0
  87. package/dist/models/b2b-settings.d.ts +54 -0
  88. package/dist/models/b2b-settings.d.ts.map +1 -0
  89. package/dist/models/b2b-settings.js +3 -0
  90. package/dist/models/b2b-settings.js.map +1 -0
  91. package/dist/models/deployment-restrictions.d.ts +60 -0
  92. package/dist/models/deployment-restrictions.d.ts.map +1 -0
  93. package/dist/models/deployment-restrictions.js +3 -0
  94. package/dist/models/deployment-restrictions.js.map +1 -0
  95. package/dist/models/index.d.ts +51 -0
  96. package/dist/models/index.d.ts.map +1 -0
  97. package/dist/models/index.js +32 -0
  98. package/dist/models/index.js.map +1 -0
  99. package/dist/models/jwt-template.d.ts +49 -0
  100. package/dist/models/jwt-template.d.ts.map +1 -0
  101. package/dist/models/jwt-template.js +3 -0
  102. package/dist/models/jwt-template.js.map +1 -0
  103. package/dist/models/notification.d.ts +58 -0
  104. package/dist/models/notification.d.ts.map +1 -0
  105. package/dist/models/notification.js +3 -0
  106. package/dist/models/notification.js.map +1 -0
  107. package/dist/models/organization.d.ts +93 -0
  108. package/dist/models/organization.d.ts.map +1 -0
  109. package/dist/models/organization.js +3 -0
  110. package/dist/models/organization.js.map +1 -0
  111. package/dist/models/segment.d.ts +44 -0
  112. package/dist/models/segment.d.ts.map +1 -0
  113. package/dist/models/segment.js +3 -0
  114. package/dist/models/segment.js.map +1 -0
  115. package/dist/models/user.d.ts +177 -0
  116. package/dist/models/user.d.ts.map +1 -0
  117. package/dist/models/user.js +3 -0
  118. package/dist/models/user.js.map +1 -0
  119. package/dist/models/webhook.d.ts +194 -0
  120. package/dist/models/webhook.d.ts.map +1 -0
  121. package/dist/models/webhook.js +3 -0
  122. package/dist/models/webhook.js.map +1 -0
  123. package/dist/models/workspace.d.ts +93 -0
  124. package/dist/models/workspace.d.ts.map +1 -0
  125. package/dist/models/workspace.js +3 -0
  126. package/dist/models/workspace.js.map +1 -0
  127. package/dist/server-auth.d.ts +84 -0
  128. package/dist/server-auth.d.ts.map +1 -0
  129. package/dist/server-auth.js +405 -0
  130. package/dist/server-auth.js.map +1 -0
  131. package/package.json +45 -0
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listWorkspaces = listWorkspaces;
4
+ exports.getWorkspace = getWorkspace;
5
+ exports.createWorkspace = createWorkspace;
6
+ exports.updateWorkspace = updateWorkspace;
7
+ exports.deleteWorkspace = deleteWorkspace;
8
+ exports.listWorkspaceMembers = listWorkspaceMembers;
9
+ exports.addWorkspaceMember = addWorkspaceMember;
10
+ exports.updateWorkspaceMember = updateWorkspaceMember;
11
+ exports.removeWorkspaceMember = removeWorkspaceMember;
12
+ exports.listWorkspaceRoles = listWorkspaceRoles;
13
+ exports.createWorkspaceRole = createWorkspaceRole;
14
+ exports.updateWorkspaceRole = updateWorkspaceRole;
15
+ exports.deleteWorkspaceRole = deleteWorkspaceRole;
16
+ const client_1 = require("../client");
17
+ /**
18
+ * List workspaces
19
+ */
20
+ async function listWorkspaces(options, client) {
21
+ const sdkClient = client ?? (0, client_1.getClient)();
22
+ const params = new URLSearchParams();
23
+ if (options?.limit)
24
+ params.append("limit", String(options.limit));
25
+ if (options?.offset !== undefined)
26
+ params.append("offset", String(options.offset));
27
+ if (options?.organization_id)
28
+ params.append("organization_id", options.organization_id);
29
+ const queryString = params.toString();
30
+ return sdkClient.get(`/workspaces${queryString ? `?${queryString}` : ""}`);
31
+ }
32
+ /**
33
+ * Get a workspace by ID
34
+ */
35
+ async function getWorkspace(workspaceId, client) {
36
+ const sdkClient = client ?? (0, client_1.getClient)();
37
+ return sdkClient.get(`/workspaces/${workspaceId}`);
38
+ }
39
+ /**
40
+ * Create a workspace
41
+ */
42
+ async function createWorkspace(request, client) {
43
+ const sdkClient = client ?? (0, client_1.getClient)();
44
+ return sdkClient.post("/workspaces", request);
45
+ }
46
+ /**
47
+ * Update a workspace
48
+ */
49
+ async function updateWorkspace(workspaceId, request, client) {
50
+ const sdkClient = client ?? (0, client_1.getClient)();
51
+ return sdkClient.patch(`/workspaces/${workspaceId}`, request);
52
+ }
53
+ /**
54
+ * Delete a workspace
55
+ */
56
+ async function deleteWorkspace(workspaceId, client) {
57
+ const sdkClient = client ?? (0, client_1.getClient)();
58
+ return sdkClient.delete(`/workspaces/${workspaceId}`);
59
+ }
60
+ /**
61
+ * List workspace members
62
+ */
63
+ async function listWorkspaceMembers(workspaceId, options, client) {
64
+ const sdkClient = client ?? (0, client_1.getClient)();
65
+ const params = options
66
+ ? `?limit=${options.limit || 50}&offset=${options.offset || 0}`
67
+ : "";
68
+ return sdkClient.get(`/workspaces/${workspaceId}/members${params}`);
69
+ }
70
+ /**
71
+ * Add a member to a workspace
72
+ */
73
+ async function addWorkspaceMember(workspaceId, request, client) {
74
+ const sdkClient = client ?? (0, client_1.getClient)();
75
+ return sdkClient.post(`/workspaces/${workspaceId}/members`, request);
76
+ }
77
+ /**
78
+ * Update a workspace member
79
+ */
80
+ async function updateWorkspaceMember(workspaceId, memberId, request, client) {
81
+ const sdkClient = client ?? (0, client_1.getClient)();
82
+ return sdkClient.patch(`/workspaces/${workspaceId}/members/${memberId}`, request);
83
+ }
84
+ /**
85
+ * Remove a member from a workspace
86
+ */
87
+ async function removeWorkspaceMember(workspaceId, memberId, client) {
88
+ const sdkClient = client ?? (0, client_1.getClient)();
89
+ return sdkClient.delete(`/workspaces/${workspaceId}/members/${memberId}`);
90
+ }
91
+ /**
92
+ * List workspace roles
93
+ */
94
+ async function listWorkspaceRoles(workspaceId, options, client) {
95
+ const sdkClient = client ?? (0, client_1.getClient)();
96
+ const params = options
97
+ ? `?limit=${options.limit || 50}&offset=${options.offset || 0}`
98
+ : "";
99
+ return sdkClient.get(`/workspaces/${workspaceId}/roles${params}`);
100
+ }
101
+ /**
102
+ * Create a workspace role
103
+ */
104
+ async function createWorkspaceRole(workspaceId, request, client) {
105
+ const sdkClient = client ?? (0, client_1.getClient)();
106
+ return sdkClient.post(`/workspaces/${workspaceId}/roles`, request);
107
+ }
108
+ /**
109
+ * Update a workspace role
110
+ */
111
+ async function updateWorkspaceRole(workspaceId, roleId, request, client) {
112
+ const sdkClient = client ?? (0, client_1.getClient)();
113
+ return sdkClient.patch(`/workspaces/${workspaceId}/roles/${roleId}`, request);
114
+ }
115
+ /**
116
+ * Delete a workspace role
117
+ */
118
+ async function deleteWorkspaceRole(workspaceId, roleId, client) {
119
+ const sdkClient = client ?? (0, client_1.getClient)();
120
+ return sdkClient.delete(`/workspaces/${workspaceId}/roles/${roleId}`);
121
+ }
122
+ //# sourceMappingURL=workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/api/workspaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ import * as usersApi from './api/users';
2
+ import * as organizationsApi from './api/organizations';
3
+ import * as workspacesApi from './api/workspaces';
4
+ import * as apiKeysApi from './api/api-keys';
5
+ import * as settingsApi from './api/settings';
6
+ import * as notificationsApi from './api/notifications';
7
+ import * as webhooksApi from './api/webhooks';
8
+ import * as aiApi from './api/ai';
9
+ import * as segmentsApi from './api/segments';
10
+ import * as invitationsApi from './api/invitations';
11
+ import * as analyticsApi from './api/analytics';
12
+ import * as utilityApi from './api/utility';
13
+ import * as healthApi from './api/health';
14
+ import * as gatewayApi from './api/gateway';
15
+ /**
16
+ * Configuration options for the Wacht SDK client
17
+ */
18
+ export interface WachtConfig {
19
+ /** Optional logical name for this client */
20
+ name?: string;
21
+ /** Base URL of the Wacht API (default: https://api.wacht.io) */
22
+ baseUrl?: string;
23
+ /** API key for authentication */
24
+ apiKey: string;
25
+ /** Request timeout in milliseconds (default: 30000) */
26
+ timeout?: number;
27
+ /** Additional headers to include in all requests */
28
+ headers?: Record<string, string>;
29
+ /** Optional fetch implementation (useful for Node 16 or custom runtimes) */
30
+ fetch?: typeof fetch;
31
+ /** Optional named store to register this client in */
32
+ store?: WachtClientStore;
33
+ }
34
+ export interface RequestConfig extends Omit<RequestInit, 'body'> {
35
+ /** Query params appended to URL */
36
+ params?: Record<string, string | number | boolean | null | undefined>;
37
+ /** Request timeout in milliseconds */
38
+ timeout?: number;
39
+ /** Request body */
40
+ body?: BodyInit | Record<string, unknown> | unknown;
41
+ }
42
+ /**
43
+ * Paginated response wrapper
44
+ */
45
+ export interface PaginatedResponse<T> {
46
+ /** The data items */
47
+ data: T[];
48
+ /** Whether there are more items available */
49
+ has_more: boolean;
50
+ /** The limit used for this page */
51
+ limit?: number;
52
+ /** The offset used for this page */
53
+ offset?: number;
54
+ }
55
+ /**
56
+ * List query options for pagination
57
+ */
58
+ export interface ListOptions {
59
+ /** Maximum number of items to return */
60
+ limit?: number;
61
+ /** Number of items to skip */
62
+ offset?: number;
63
+ }
64
+ type AnyFn = (...args: any[]) => any;
65
+ type StripTrailingClientArg<F> = F extends (...args: infer A) => infer R ? A extends [...infer Rest, infer Last] ? Last extends WachtClient | undefined ? (...args: Rest) => R : (...args: A) => R : (...args: A) => R : never;
66
+ type BoundApi<T extends Record<string, AnyFn>> = {
67
+ [K in keyof T]: StripTrailingClientArg<T[K]>;
68
+ };
69
+ /**
70
+ * Wacht SDK Client
71
+ */
72
+ export declare class WachtClient {
73
+ private readonly baseUrl;
74
+ private readonly defaultTimeout;
75
+ private readonly defaultHeaders;
76
+ private readonly fetchImpl?;
77
+ readonly name?: string;
78
+ readonly users: BoundApi<typeof usersApi>;
79
+ readonly organizations: BoundApi<typeof organizationsApi>;
80
+ readonly workspaces: BoundApi<typeof workspacesApi>;
81
+ readonly apiKeys: BoundApi<typeof apiKeysApi>;
82
+ readonly settings: BoundApi<typeof settingsApi>;
83
+ readonly notifications: BoundApi<typeof notificationsApi>;
84
+ readonly webhooks: BoundApi<typeof webhooksApi>;
85
+ readonly ai: BoundApi<typeof aiApi>;
86
+ readonly segments: BoundApi<typeof segmentsApi>;
87
+ readonly invitations: BoundApi<typeof invitationsApi>;
88
+ readonly analytics: BoundApi<typeof analyticsApi>;
89
+ readonly utility: BoundApi<typeof utilityApi>;
90
+ readonly health: BoundApi<typeof healthApi>;
91
+ readonly gateway: BoundApi<typeof gatewayApi>;
92
+ constructor(config: WachtConfig);
93
+ private bindApi;
94
+ private getFetch;
95
+ private buildUrl;
96
+ private normalizeBody;
97
+ private parseResponse;
98
+ private request;
99
+ /**
100
+ * Make a GET request
101
+ */
102
+ get<T>(url: string, config?: RequestConfig): Promise<T>;
103
+ /**
104
+ * Make a POST request
105
+ */
106
+ post<T>(url: string, data?: unknown, config?: RequestConfig): Promise<T>;
107
+ /**
108
+ * Make a PUT request
109
+ */
110
+ put<T>(url: string, data?: unknown, config?: RequestConfig): Promise<T>;
111
+ /**
112
+ * Make a PATCH request
113
+ */
114
+ patch<T>(url: string, data?: unknown, config?: RequestConfig): Promise<T>;
115
+ /**
116
+ * Make a DELETE request
117
+ */
118
+ delete<T>(url: string, config?: RequestConfig): Promise<T>;
119
+ /**
120
+ * Get the base URL
121
+ */
122
+ getBaseUrl(): string;
123
+ }
124
+ export declare class WachtClientStore {
125
+ private readonly clients;
126
+ register(name: string, client: WachtClient): void;
127
+ get(name: string): WachtClient;
128
+ has(name: string): boolean;
129
+ remove(name: string): boolean;
130
+ list(): string[];
131
+ clear(): void;
132
+ }
133
+ export declare function createClientStore(): WachtClientStore;
134
+ /**
135
+ * Initialize the global client
136
+ */
137
+ export declare function initClient(config: WachtConfig): void;
138
+ /**
139
+ * Get the global client instance
140
+ * @throws {Error} If client has not been initialized
141
+ */
142
+ export declare function getClient(): WachtClient;
143
+ /**
144
+ * Check if the global client has been initialized
145
+ */
146
+ export declare function isClientInitialized(): boolean;
147
+ export {};
148
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.WachtClientStore = exports.WachtClient = void 0;
37
+ exports.createClientStore = createClientStore;
38
+ exports.initClient = initClient;
39
+ exports.getClient = getClient;
40
+ exports.isClientInitialized = isClientInitialized;
41
+ const error_1 = require("./error");
42
+ const usersApi = __importStar(require("./api/users"));
43
+ const organizationsApi = __importStar(require("./api/organizations"));
44
+ const workspacesApi = __importStar(require("./api/workspaces"));
45
+ const apiKeysApi = __importStar(require("./api/api-keys"));
46
+ const settingsApi = __importStar(require("./api/settings"));
47
+ const notificationsApi = __importStar(require("./api/notifications"));
48
+ const webhooksApi = __importStar(require("./api/webhooks"));
49
+ const aiApi = __importStar(require("./api/ai"));
50
+ const segmentsApi = __importStar(require("./api/segments"));
51
+ const invitationsApi = __importStar(require("./api/invitations"));
52
+ const analyticsApi = __importStar(require("./api/analytics"));
53
+ const utilityApi = __importStar(require("./api/utility"));
54
+ const healthApi = __importStar(require("./api/health"));
55
+ const gatewayApi = __importStar(require("./api/gateway"));
56
+ /**
57
+ * Wacht SDK Client
58
+ */
59
+ class WachtClient {
60
+ constructor(config) {
61
+ this.baseUrl = config.baseUrl || 'https://api.wacht.io';
62
+ this.defaultTimeout = config.timeout || 30000;
63
+ this.defaultHeaders = {
64
+ 'Authorization': `Bearer ${config.apiKey}`,
65
+ ...config.headers,
66
+ };
67
+ this.fetchImpl = config.fetch;
68
+ this.name = config.name;
69
+ this.users = this.bindApi(usersApi);
70
+ this.organizations = this.bindApi(organizationsApi);
71
+ this.workspaces = this.bindApi(workspacesApi);
72
+ this.apiKeys = this.bindApi(apiKeysApi);
73
+ this.settings = this.bindApi(settingsApi);
74
+ this.notifications = this.bindApi(notificationsApi);
75
+ this.webhooks = this.bindApi(webhooksApi);
76
+ this.ai = this.bindApi(aiApi);
77
+ this.segments = this.bindApi(segmentsApi);
78
+ this.invitations = this.bindApi(invitationsApi);
79
+ this.analytics = this.bindApi(analyticsApi);
80
+ this.utility = this.bindApi(utilityApi);
81
+ this.health = this.bindApi(healthApi);
82
+ this.gateway = this.bindApi(gatewayApi);
83
+ if (config.store && config.name) {
84
+ config.store.register(config.name, this);
85
+ }
86
+ }
87
+ bindApi(api) {
88
+ const bound = {};
89
+ for (const key of Object.keys(api)) {
90
+ const fn = api[key];
91
+ bound[key] = (...args) => fn(...args, this);
92
+ }
93
+ return bound;
94
+ }
95
+ getFetch() {
96
+ if (this.fetchImpl)
97
+ return this.fetchImpl;
98
+ if (typeof globalThis.fetch === 'function')
99
+ return globalThis.fetch.bind(globalThis);
100
+ throw new error_1.WachtError('No fetch implementation found. Provide one via initClient({ fetch }) in this runtime.');
101
+ }
102
+ buildUrl(url, params) {
103
+ const absolute = new URL(url, this.baseUrl);
104
+ if (params) {
105
+ for (const [key, value] of Object.entries(params)) {
106
+ if (value === undefined || value === null)
107
+ continue;
108
+ absolute.searchParams.append(key, String(value));
109
+ }
110
+ }
111
+ return absolute.toString();
112
+ }
113
+ normalizeBody(body, headers) {
114
+ if (body === undefined || body === null)
115
+ return undefined;
116
+ const hasFormData = typeof FormData !== 'undefined';
117
+ const hasUrlSearchParams = typeof URLSearchParams !== 'undefined';
118
+ const hasBlob = typeof Blob !== 'undefined';
119
+ const hasReadableStream = typeof ReadableStream !== 'undefined';
120
+ if (typeof body === 'string' ||
121
+ (hasFormData && body instanceof FormData) ||
122
+ (hasUrlSearchParams && body instanceof URLSearchParams) ||
123
+ (hasBlob && body instanceof Blob) ||
124
+ body instanceof ArrayBuffer ||
125
+ ArrayBuffer.isView(body) ||
126
+ (hasReadableStream && body instanceof ReadableStream)) {
127
+ return body;
128
+ }
129
+ if (!headers.has('Content-Type')) {
130
+ headers.set('Content-Type', 'application/json');
131
+ }
132
+ return JSON.stringify(body);
133
+ }
134
+ async parseResponse(response) {
135
+ const contentType = response.headers.get('content-type')?.toLowerCase() || '';
136
+ if (response.status === 204) {
137
+ return undefined;
138
+ }
139
+ if (contentType.includes('application/json')) {
140
+ return (await response.json());
141
+ }
142
+ return (await response.text());
143
+ }
144
+ async request(method, url, config) {
145
+ const fetchImpl = this.getFetch();
146
+ const timeout = config?.timeout ?? this.defaultTimeout;
147
+ const controller = new AbortController();
148
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
149
+ try {
150
+ const headers = new Headers(this.defaultHeaders);
151
+ if (config?.headers) {
152
+ new Headers(config.headers).forEach((value, key) => headers.set(key, value));
153
+ }
154
+ const response = await fetchImpl(this.buildUrl(url, config?.params), {
155
+ ...config,
156
+ method,
157
+ headers,
158
+ body: this.normalizeBody(config?.body, headers),
159
+ signal: config?.signal ?? controller.signal,
160
+ });
161
+ if (!response.ok) {
162
+ let errorData = null;
163
+ try {
164
+ errorData = await response.json();
165
+ }
166
+ catch {
167
+ try {
168
+ const text = await response.text();
169
+ errorData = { message: text };
170
+ }
171
+ catch {
172
+ errorData = null;
173
+ }
174
+ }
175
+ throw (0, error_1.parseApiError)(response.status, errorData);
176
+ }
177
+ return this.parseResponse(response);
178
+ }
179
+ catch (error) {
180
+ if (error instanceof error_1.WachtError) {
181
+ throw error;
182
+ }
183
+ if (error instanceof Error && error.name === 'AbortError') {
184
+ throw new error_1.WachtError('Request timed out');
185
+ }
186
+ if (error instanceof Error) {
187
+ throw new error_1.WachtError(error.message);
188
+ }
189
+ throw new error_1.WachtError('Request failed');
190
+ }
191
+ finally {
192
+ clearTimeout(timeoutId);
193
+ }
194
+ }
195
+ /**
196
+ * Make a GET request
197
+ */
198
+ async get(url, config) {
199
+ return this.request('GET', url, config);
200
+ }
201
+ /**
202
+ * Make a POST request
203
+ */
204
+ async post(url, data, config) {
205
+ return this.request('POST', url, {
206
+ ...config,
207
+ body: data,
208
+ });
209
+ }
210
+ /**
211
+ * Make a PUT request
212
+ */
213
+ async put(url, data, config) {
214
+ return this.request('PUT', url, {
215
+ ...config,
216
+ body: data,
217
+ });
218
+ }
219
+ /**
220
+ * Make a PATCH request
221
+ */
222
+ async patch(url, data, config) {
223
+ return this.request('PATCH', url, {
224
+ ...config,
225
+ body: data,
226
+ });
227
+ }
228
+ /**
229
+ * Make a DELETE request
230
+ */
231
+ async delete(url, config) {
232
+ return this.request('DELETE', url, config);
233
+ }
234
+ /**
235
+ * Get the base URL
236
+ */
237
+ getBaseUrl() {
238
+ return this.baseUrl;
239
+ }
240
+ }
241
+ exports.WachtClient = WachtClient;
242
+ /**
243
+ * Global client instance (lazy initialized)
244
+ */
245
+ let globalClient = null;
246
+ class WachtClientStore {
247
+ constructor() {
248
+ this.clients = new Map();
249
+ }
250
+ register(name, client) {
251
+ this.clients.set(name, client);
252
+ }
253
+ get(name) {
254
+ const client = this.clients.get(name);
255
+ if (!client) {
256
+ throw new Error(`No Wacht client registered with name '${name}'.`);
257
+ }
258
+ return client;
259
+ }
260
+ has(name) {
261
+ return this.clients.has(name);
262
+ }
263
+ remove(name) {
264
+ return this.clients.delete(name);
265
+ }
266
+ list() {
267
+ return Array.from(this.clients.keys());
268
+ }
269
+ clear() {
270
+ this.clients.clear();
271
+ }
272
+ }
273
+ exports.WachtClientStore = WachtClientStore;
274
+ function createClientStore() {
275
+ return new WachtClientStore();
276
+ }
277
+ /**
278
+ * Initialize the global client
279
+ */
280
+ function initClient(config) {
281
+ globalClient = new WachtClient(config);
282
+ }
283
+ /**
284
+ * Get the global client instance
285
+ * @throws {Error} If client has not been initialized
286
+ */
287
+ function getClient() {
288
+ if (!globalClient) {
289
+ throw new Error('Wacht SDK client not initialized. Call initClient() first.');
290
+ }
291
+ return globalClient;
292
+ }
293
+ /**
294
+ * Check if the global client has been initialized
295
+ */
296
+ function isClientInitialized() {
297
+ return globalClient !== null;
298
+ }
299
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Custom error class for Wacht SDK errors
3
+ */
4
+ export declare class WachtError extends Error {
5
+ statusCode?: number | undefined;
6
+ details?: unknown | undefined;
7
+ constructor(message: string, statusCode?: number | undefined, details?: unknown | undefined);
8
+ }
9
+ /**
10
+ * API error response from the backend
11
+ */
12
+ export interface ApiError {
13
+ message: string;
14
+ code?: string;
15
+ details?: unknown;
16
+ }
17
+ /**
18
+ * Validation error for request parameters
19
+ */
20
+ export declare class ValidationError extends WachtError {
21
+ constructor(message: string, details?: unknown);
22
+ }
23
+ /**
24
+ * Authentication error
25
+ */
26
+ export declare class AuthenticationError extends WachtError {
27
+ constructor(message?: string);
28
+ }
29
+ /**
30
+ * Authorization error
31
+ */
32
+ export declare class AuthorizationError extends WachtError {
33
+ constructor(message?: string);
34
+ }
35
+ /**
36
+ * Not found error
37
+ */
38
+ export declare class NotFoundError extends WachtError {
39
+ constructor(message?: string);
40
+ }
41
+ /**
42
+ * Conflict error
43
+ */
44
+ export declare class ConflictError extends WachtError {
45
+ constructor(message: string);
46
+ }
47
+ /**
48
+ * Rate limit error
49
+ */
50
+ export declare class RateLimitError extends WachtError {
51
+ constructor(message?: string);
52
+ }
53
+ /**
54
+ * Server error
55
+ */
56
+ export declare class ServerError extends WachtError {
57
+ constructor(message?: string);
58
+ }
59
+ /**
60
+ * Parse an API error and return the appropriate WachtError
61
+ */
62
+ export declare function parseApiError(statusCode: number, data: unknown): WachtError;
63
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IAG1B,UAAU,CAAC,EAAE,MAAM;IACnB,OAAO,CAAC,EAAE,OAAO;gBAFxB,OAAO,EAAE,MAAM,EACR,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,OAAO,CAAC,EAAE,OAAO,YAAA;CAQ3B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;gBACrC,OAAO,GAAE,MAAgC;CAItD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,OAAO,GAAE,MAA+B;CAIrD;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;gBAC/B,OAAO,GAAE,MAA6B;CAInD;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,UAAU;gBAChC,OAAO,GAAE,MAA8B;CAIpD;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU;gBAC7B,OAAO,GAAE,MAAgC;CAItD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,UAAU,CAwB3E"}