@ace-sdk/core 2.7.0 → 2.8.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.
@@ -10,6 +10,8 @@
10
10
  *
11
11
  * @package @ace-sdk/core
12
12
  */
13
+ import { parsePlan, getFeatures, isNearLimit } from '../types/subscription.js';
14
+ import { createSubscriptionError } from '../errors/subscription.js';
13
15
  import { getEffectiveToken, getEffectiveOrgId } from '../auth/utils.js';
14
16
  import { updateOrganizations, loadUserAuth, updateAuthTokens } from '../config/auth.js';
15
17
  import { loadConfig } from '../config/loader.js';
@@ -138,10 +140,19 @@ export class HttpClient {
138
140
  logger;
139
141
  autoRefresh;
140
142
  customToken; // Track if token was provided explicitly
143
+ onUsageUpdate;
144
+ onQuotaWarning;
145
+ onReadOnlyMode;
146
+ onAccountBlocked;
147
+ lastUsage;
141
148
  constructor(options = {}) {
142
149
  this.logger = options.logger;
143
150
  this.autoRefresh = options.autoRefresh !== false; // Default: true
144
151
  this.customToken = !!options.token;
152
+ this.onUsageUpdate = options.onUsageUpdate;
153
+ this.onQuotaWarning = options.onQuotaWarning;
154
+ this.onReadOnlyMode = options.onReadOnlyMode;
155
+ this.onAccountBlocked = options.onAccountBlocked;
145
156
  // Get server URL
146
157
  if (options.serverUrl) {
147
158
  this.serverUrl = options.serverUrl;
@@ -155,6 +166,78 @@ export class HttpClient {
155
166
  this.orgId = options.orgId || getEffectiveOrgId(this.logger);
156
167
  this.logger?.debug(`HTTP Client: ${this.serverUrl}`);
157
168
  }
169
+ /**
170
+ * Parse usage headers from response (v2.8.0+)
171
+ */
172
+ parseUsageHeaders(response) {
173
+ const plan = response.headers.get('X-ACE-Plan');
174
+ if (!plan)
175
+ return null;
176
+ const { type, tier } = parsePlan(plan);
177
+ const status = (response.headers.get('X-ACE-Status') || 'active');
178
+ const parseMetric = (header) => {
179
+ if (!header)
180
+ return { used: 0, limit: 0 };
181
+ const parts = header.split('/');
182
+ if (parts.length !== 2)
183
+ return { used: 0, limit: -1 };
184
+ const [used, limit] = parts.map(Number);
185
+ if (isNaN(used) || isNaN(limit))
186
+ return { used: 0, limit: -1 };
187
+ return { used, limit };
188
+ };
189
+ return {
190
+ plan,
191
+ subscriptionType: type,
192
+ planTier: tier,
193
+ status,
194
+ patterns: parseMetric(response.headers.get('X-ACE-Patterns')),
195
+ patternsTotal: parseMetric(response.headers.get('X-ACE-Patterns-Total')),
196
+ projects: parseMetric(response.headers.get('X-ACE-Projects')),
197
+ domains: parseMetric(response.headers.get('X-ACE-Domains')),
198
+ templates: parseMetric(response.headers.get('X-ACE-Templates')),
199
+ apiCalls: parseMetric(response.headers.get('X-ACE-API-Calls')),
200
+ tracesToday: parseMetric(response.headers.get('X-ACE-Traces')),
201
+ features: getFeatures(type, tier),
202
+ subscriptionUpdatedAt: response.headers.get('X-ACE-Subscription-Updated-At') || undefined
203
+ };
204
+ }
205
+ /**
206
+ * Process usage info and trigger callbacks (v2.8.0+)
207
+ */
208
+ processUsage(usage) {
209
+ this.lastUsage = usage;
210
+ // Trigger usage update callback
211
+ if (this.onUsageUpdate) {
212
+ this.onUsageUpdate(usage);
213
+ }
214
+ // Check for status-based callbacks
215
+ if (usage.status === 'blocked' && this.onAccountBlocked) {
216
+ this.onAccountBlocked();
217
+ }
218
+ // Check for quota warnings (>80%)
219
+ if (this.onQuotaWarning) {
220
+ const checkMetric = (metric, name) => {
221
+ if (isNearLimit(metric)) {
222
+ const percentage = metric.limit > 0
223
+ ? Math.round((metric.used / metric.limit) * 100)
224
+ : 100;
225
+ this.onQuotaWarning(`${name} usage at ${percentage}%`, percentage, name.toLowerCase().replace(/ /g, '_'));
226
+ }
227
+ };
228
+ checkMetric(usage.patterns, 'Patterns');
229
+ checkMetric(usage.patternsTotal, 'Total Patterns');
230
+ checkMetric(usage.projects, 'Projects');
231
+ checkMetric(usage.apiCalls, 'API Calls');
232
+ checkMetric(usage.tracesToday, 'Daily Traces');
233
+ }
234
+ }
235
+ /**
236
+ * Get last received usage info
237
+ */
238
+ getLastUsage() {
239
+ return this.lastUsage;
240
+ }
158
241
  /**
159
242
  * Make authenticated request to ACE API
160
243
  */
@@ -171,9 +254,10 @@ export class HttpClient {
171
254
  }
172
255
  }
173
256
  catch (error) {
174
- // If token refresh fails with session expired, convert to AceApiError
175
- if (error instanceof Error && error.message.includes('Session expired')) {
176
- throw new AceApiError(error.message, 401, 'session_expired');
257
+ // v2.7.1: ensureValidToken only throws for "not authenticated" case
258
+ // Convert to AceApiError for consistent error handling
259
+ if (error instanceof Error) {
260
+ throw new AceApiError(error.message, 401, 'not_authenticated');
177
261
  }
178
262
  throw error;
179
263
  }
@@ -203,6 +287,11 @@ export class HttpClient {
203
287
  // Force refresh on next request by clearing token
204
288
  this.token = null;
205
289
  }
290
+ // v2.8.0: Parse usage headers
291
+ const usage = this.parseUsageHeaders(response);
292
+ if (usage) {
293
+ this.processUsage(usage);
294
+ }
206
295
  if (!response.ok) {
207
296
  const errorText = await response.text();
208
297
  let errorData;
@@ -212,6 +301,15 @@ export class HttpClient {
212
301
  catch {
213
302
  errorData = { message: errorText };
214
303
  }
304
+ // v2.8.0: Check for subscription-specific errors
305
+ const subscriptionError = createSubscriptionError(response.status, errorData);
306
+ if (subscriptionError) {
307
+ // Check for read-only mode callback
308
+ if (response.status === 402 && this.onReadOnlyMode && errorData.days_until_block !== undefined) {
309
+ this.onReadOnlyMode(errorData.days_until_block);
310
+ }
311
+ throw subscriptionError;
312
+ }
215
313
  throw new AceApiError(errorData.message || `HTTP ${response.status}`, response.status, errorData.code, errorData);
216
314
  }
217
315
  return response.json();
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Error Classes Index
3
+ *
4
+ * @package @ace-sdk/core
5
+ */
6
+ export { QuotaExceededError, FeatureNotAvailableError, PaymentRequiredError, AccountBlockedError, InsufficientPermissionsError, createSubscriptionError, isSubscriptionError } from './subscription.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAE5B,uBAAuB,EAEvB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Error Classes Index
3
+ *
4
+ * @package @ace-sdk/core
5
+ */
6
+ export {
7
+ // Error classes
8
+ QuotaExceededError, FeatureNotAvailableError, PaymentRequiredError, AccountBlockedError, InsufficientPermissionsError,
9
+ // Factory function
10
+ createSubscriptionError,
11
+ // Type guard
12
+ isSubscriptionError } from './subscription.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AACL,gBAAgB;AAChB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B;AAC5B,mBAAmB;AACnB,uBAAuB;AACvB,aAAa;AACb,mBAAmB,EACpB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Subscription Error Classes for ACE SDK
3
+ *
4
+ * Typed error classes for handling subscription-related errors
5
+ * from the ACE server (429, 402, 403).
6
+ *
7
+ * @package @ace-sdk/core
8
+ * @since v2.8.0
9
+ */
10
+ import type { QuotaErrorResponse, FeatureErrorResponse, PaymentRequiredResponse, AccountBlockedResponse, PermissionsErrorResponse } from '../types/subscription.js';
11
+ /**
12
+ * 429 - Quota exceeded error
13
+ *
14
+ * Thrown when the user has exceeded their plan's quota for a resource.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * catch (error) {
19
+ * if (error instanceof QuotaExceededError) {
20
+ * console.log(`Quota exceeded for ${error.resource}: ${error.current}/${error.limit}`);
21
+ * console.log(`Upgrade at: ${error.upgradeUrl}`);
22
+ * }
23
+ * }
24
+ * ```
25
+ */
26
+ export declare class QuotaExceededError extends Error {
27
+ /** Error code from server */
28
+ readonly code: string;
29
+ /** Resource that exceeded quota (e.g., "patterns", "api_calls") */
30
+ readonly resource: string;
31
+ /** Current usage */
32
+ readonly current: number;
33
+ /** Maximum limit */
34
+ readonly limit: number;
35
+ /** URL to upgrade plan */
36
+ readonly upgradeUrl: string;
37
+ readonly name = "QuotaExceededError";
38
+ constructor(
39
+ /** Error code from server */
40
+ code: string,
41
+ /** Human-readable message */
42
+ message: string,
43
+ /** Resource that exceeded quota (e.g., "patterns", "api_calls") */
44
+ resource: string,
45
+ /** Current usage */
46
+ current: number,
47
+ /** Maximum limit */
48
+ limit: number,
49
+ /** URL to upgrade plan */
50
+ upgradeUrl: string);
51
+ /**
52
+ * Create QuotaExceededError from server response
53
+ */
54
+ static fromResponse(data: QuotaErrorResponse): QuotaExceededError;
55
+ /**
56
+ * Get usage percentage
57
+ */
58
+ get percentage(): number;
59
+ }
60
+ /**
61
+ * 403 - Feature not available error
62
+ *
63
+ * Thrown when the user tries to access a feature not included in their plan.
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * catch (error) {
68
+ * if (error instanceof FeatureNotAvailableError) {
69
+ * console.log(`Feature '${error.feature}' requires ${error.requiredPlan}`);
70
+ * }
71
+ * }
72
+ * ```
73
+ */
74
+ export declare class FeatureNotAvailableError extends Error {
75
+ /** Error code from server */
76
+ readonly code: string;
77
+ /** Feature that was requested */
78
+ readonly feature: string;
79
+ /** Plan required for this feature */
80
+ readonly requiredPlan: string;
81
+ /** URL to upgrade plan */
82
+ readonly upgradeUrl: string;
83
+ readonly name = "FeatureNotAvailableError";
84
+ constructor(
85
+ /** Error code from server */
86
+ code: string,
87
+ /** Feature that was requested */
88
+ feature: string,
89
+ /** Plan required for this feature */
90
+ requiredPlan: string,
91
+ /** URL to upgrade plan */
92
+ upgradeUrl: string);
93
+ /**
94
+ * Create FeatureNotAvailableError from server response
95
+ */
96
+ static fromResponse(data: FeatureErrorResponse): FeatureNotAvailableError;
97
+ }
98
+ /**
99
+ * 402 - Payment required error
100
+ *
101
+ * Thrown when the account is in read-only mode due to payment failure.
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * catch (error) {
106
+ * if (error instanceof PaymentRequiredError) {
107
+ * console.log(`Account in read-only mode. ${error.daysUntilBlock} days until block.`);
108
+ * }
109
+ * }
110
+ * ```
111
+ */
112
+ export declare class PaymentRequiredError extends Error {
113
+ /** Error code from server */
114
+ readonly code: string;
115
+ /** Days until account is blocked */
116
+ readonly daysUntilBlock: number;
117
+ /** URL to update payment */
118
+ readonly upgradeUrl: string;
119
+ readonly name = "PaymentRequiredError";
120
+ constructor(
121
+ /** Error code from server */
122
+ code: string,
123
+ /** Human-readable message */
124
+ message: string,
125
+ /** Days until account is blocked */
126
+ daysUntilBlock: number,
127
+ /** URL to update payment */
128
+ upgradeUrl: string);
129
+ /**
130
+ * Create PaymentRequiredError from server response
131
+ */
132
+ static fromResponse(data: PaymentRequiredResponse): PaymentRequiredError;
133
+ /**
134
+ * Check if block is imminent (within 3 days)
135
+ */
136
+ get isUrgent(): boolean;
137
+ }
138
+ /**
139
+ * 403 - Account blocked error
140
+ *
141
+ * Thrown when the account has been blocked due to prolonged payment failure.
142
+ *
143
+ * @example
144
+ * ```typescript
145
+ * catch (error) {
146
+ * if (error instanceof AccountBlockedError) {
147
+ * console.log(`Account blocked. Resolve at: ${error.upgradeUrl}`);
148
+ * }
149
+ * }
150
+ * ```
151
+ */
152
+ export declare class AccountBlockedError extends Error {
153
+ /** Error code from server */
154
+ readonly code: string;
155
+ /** URL to resolve block */
156
+ readonly upgradeUrl: string;
157
+ readonly name = "AccountBlockedError";
158
+ constructor(
159
+ /** Error code from server */
160
+ code: string,
161
+ /** Human-readable message */
162
+ message: string,
163
+ /** URL to resolve block */
164
+ upgradeUrl: string);
165
+ /**
166
+ * Create AccountBlockedError from server response
167
+ */
168
+ static fromResponse(data: AccountBlockedResponse): AccountBlockedError;
169
+ }
170
+ /**
171
+ * 403 - Insufficient permissions error
172
+ *
173
+ * Thrown when the user doesn't have the required role for an operation.
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * catch (error) {
178
+ * if (error instanceof InsufficientPermissionsError) {
179
+ * console.log(`This action requires the '${error.requiredRole}' role`);
180
+ * }
181
+ * }
182
+ * ```
183
+ */
184
+ export declare class InsufficientPermissionsError extends Error {
185
+ /** Error code from server */
186
+ readonly code: string;
187
+ /** Role required for this operation */
188
+ readonly requiredRole: string;
189
+ readonly name = "InsufficientPermissionsError";
190
+ constructor(
191
+ /** Error code from server */
192
+ code: string,
193
+ /** Human-readable message */
194
+ message: string,
195
+ /** Role required for this operation */
196
+ requiredRole: string);
197
+ /**
198
+ * Create InsufficientPermissionsError from server response
199
+ */
200
+ static fromResponse(data: PermissionsErrorResponse): InsufficientPermissionsError;
201
+ }
202
+ /**
203
+ * Create the appropriate error from a server response
204
+ *
205
+ * @param status - HTTP status code
206
+ * @param data - Error response data
207
+ * @returns Typed error instance, or null if not a subscription error
208
+ */
209
+ export declare function createSubscriptionError(status: number, data: unknown): QuotaExceededError | FeatureNotAvailableError | PaymentRequiredError | AccountBlockedError | InsufficientPermissionsError | null;
210
+ /**
211
+ * Check if an error is a subscription-related error
212
+ */
213
+ export declare function isSubscriptionError(error: unknown): error is QuotaExceededError | FeatureNotAvailableError | PaymentRequiredError | AccountBlockedError | InsufficientPermissionsError;
214
+ //# sourceMappingURL=subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/errors/subscription.ts"],"names":[],"mappings":"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"}