@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.
@@ -0,0 +1,285 @@
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
+ // =============================================================================
11
+ // Error Classes
12
+ // =============================================================================
13
+ /**
14
+ * 429 - Quota exceeded error
15
+ *
16
+ * Thrown when the user has exceeded their plan's quota for a resource.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * catch (error) {
21
+ * if (error instanceof QuotaExceededError) {
22
+ * console.log(`Quota exceeded for ${error.resource}: ${error.current}/${error.limit}`);
23
+ * console.log(`Upgrade at: ${error.upgradeUrl}`);
24
+ * }
25
+ * }
26
+ * ```
27
+ */
28
+ export class QuotaExceededError extends Error {
29
+ code;
30
+ resource;
31
+ current;
32
+ limit;
33
+ upgradeUrl;
34
+ name = 'QuotaExceededError';
35
+ constructor(
36
+ /** Error code from server */
37
+ code,
38
+ /** Human-readable message */
39
+ message,
40
+ /** Resource that exceeded quota (e.g., "patterns", "api_calls") */
41
+ resource,
42
+ /** Current usage */
43
+ current,
44
+ /** Maximum limit */
45
+ limit,
46
+ /** URL to upgrade plan */
47
+ upgradeUrl) {
48
+ super(message);
49
+ this.code = code;
50
+ this.resource = resource;
51
+ this.current = current;
52
+ this.limit = limit;
53
+ this.upgradeUrl = upgradeUrl;
54
+ Object.setPrototypeOf(this, QuotaExceededError.prototype);
55
+ }
56
+ /**
57
+ * Create QuotaExceededError from server response
58
+ */
59
+ static fromResponse(data) {
60
+ return new QuotaExceededError(data.code, data.message, data.resource, data.current, data.limit, data.upgrade_url);
61
+ }
62
+ /**
63
+ * Get usage percentage
64
+ */
65
+ get percentage() {
66
+ if (this.limit <= 0)
67
+ return 100;
68
+ return Math.round((this.current / this.limit) * 100);
69
+ }
70
+ }
71
+ /**
72
+ * 403 - Feature not available error
73
+ *
74
+ * Thrown when the user tries to access a feature not included in their plan.
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * catch (error) {
79
+ * if (error instanceof FeatureNotAvailableError) {
80
+ * console.log(`Feature '${error.feature}' requires ${error.requiredPlan}`);
81
+ * }
82
+ * }
83
+ * ```
84
+ */
85
+ export class FeatureNotAvailableError extends Error {
86
+ code;
87
+ feature;
88
+ requiredPlan;
89
+ upgradeUrl;
90
+ name = 'FeatureNotAvailableError';
91
+ constructor(
92
+ /** Error code from server */
93
+ code,
94
+ /** Feature that was requested */
95
+ feature,
96
+ /** Plan required for this feature */
97
+ requiredPlan,
98
+ /** URL to upgrade plan */
99
+ upgradeUrl) {
100
+ super(`Feature '${feature}' requires ${requiredPlan}`);
101
+ this.code = code;
102
+ this.feature = feature;
103
+ this.requiredPlan = requiredPlan;
104
+ this.upgradeUrl = upgradeUrl;
105
+ Object.setPrototypeOf(this, FeatureNotAvailableError.prototype);
106
+ }
107
+ /**
108
+ * Create FeatureNotAvailableError from server response
109
+ */
110
+ static fromResponse(data) {
111
+ return new FeatureNotAvailableError(data.code, data.feature, data.required_plan, data.upgrade_url);
112
+ }
113
+ }
114
+ /**
115
+ * 402 - Payment required error
116
+ *
117
+ * Thrown when the account is in read-only mode due to payment failure.
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * catch (error) {
122
+ * if (error instanceof PaymentRequiredError) {
123
+ * console.log(`Account in read-only mode. ${error.daysUntilBlock} days until block.`);
124
+ * }
125
+ * }
126
+ * ```
127
+ */
128
+ export class PaymentRequiredError extends Error {
129
+ code;
130
+ daysUntilBlock;
131
+ upgradeUrl;
132
+ name = 'PaymentRequiredError';
133
+ constructor(
134
+ /** Error code from server */
135
+ code,
136
+ /** Human-readable message */
137
+ message,
138
+ /** Days until account is blocked */
139
+ daysUntilBlock,
140
+ /** URL to update payment */
141
+ upgradeUrl) {
142
+ super(message);
143
+ this.code = code;
144
+ this.daysUntilBlock = daysUntilBlock;
145
+ this.upgradeUrl = upgradeUrl;
146
+ Object.setPrototypeOf(this, PaymentRequiredError.prototype);
147
+ }
148
+ /**
149
+ * Create PaymentRequiredError from server response
150
+ */
151
+ static fromResponse(data) {
152
+ return new PaymentRequiredError(data.code, data.message, data.days_until_block, data.upgrade_url);
153
+ }
154
+ /**
155
+ * Check if block is imminent (within 3 days)
156
+ */
157
+ get isUrgent() {
158
+ return this.daysUntilBlock <= 3;
159
+ }
160
+ }
161
+ /**
162
+ * 403 - Account blocked error
163
+ *
164
+ * Thrown when the account has been blocked due to prolonged payment failure.
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * catch (error) {
169
+ * if (error instanceof AccountBlockedError) {
170
+ * console.log(`Account blocked. Resolve at: ${error.upgradeUrl}`);
171
+ * }
172
+ * }
173
+ * ```
174
+ */
175
+ export class AccountBlockedError extends Error {
176
+ code;
177
+ upgradeUrl;
178
+ name = 'AccountBlockedError';
179
+ constructor(
180
+ /** Error code from server */
181
+ code,
182
+ /** Human-readable message */
183
+ message,
184
+ /** URL to resolve block */
185
+ upgradeUrl) {
186
+ super(message);
187
+ this.code = code;
188
+ this.upgradeUrl = upgradeUrl;
189
+ Object.setPrototypeOf(this, AccountBlockedError.prototype);
190
+ }
191
+ /**
192
+ * Create AccountBlockedError from server response
193
+ */
194
+ static fromResponse(data) {
195
+ return new AccountBlockedError(data.code, data.message, data.upgrade_url);
196
+ }
197
+ }
198
+ /**
199
+ * 403 - Insufficient permissions error
200
+ *
201
+ * Thrown when the user doesn't have the required role for an operation.
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * catch (error) {
206
+ * if (error instanceof InsufficientPermissionsError) {
207
+ * console.log(`This action requires the '${error.requiredRole}' role`);
208
+ * }
209
+ * }
210
+ * ```
211
+ */
212
+ export class InsufficientPermissionsError extends Error {
213
+ code;
214
+ requiredRole;
215
+ name = 'InsufficientPermissionsError';
216
+ constructor(
217
+ /** Error code from server */
218
+ code,
219
+ /** Human-readable message */
220
+ message,
221
+ /** Role required for this operation */
222
+ requiredRole) {
223
+ super(message);
224
+ this.code = code;
225
+ this.requiredRole = requiredRole;
226
+ Object.setPrototypeOf(this, InsufficientPermissionsError.prototype);
227
+ }
228
+ /**
229
+ * Create InsufficientPermissionsError from server response
230
+ */
231
+ static fromResponse(data) {
232
+ return new InsufficientPermissionsError(data.code, data.message, data.required_role);
233
+ }
234
+ }
235
+ // =============================================================================
236
+ // Factory Function
237
+ // =============================================================================
238
+ /**
239
+ * Create the appropriate error from a server response
240
+ *
241
+ * @param status - HTTP status code
242
+ * @param data - Error response data
243
+ * @returns Typed error instance, or null if not a subscription error
244
+ */
245
+ export function createSubscriptionError(status, data) {
246
+ if (typeof data !== 'object' || data === null) {
247
+ return null;
248
+ }
249
+ const errorType = data.error;
250
+ switch (status) {
251
+ case 429:
252
+ if (errorType === 'quota_exceeded') {
253
+ return QuotaExceededError.fromResponse(data);
254
+ }
255
+ break;
256
+ case 402:
257
+ if (errorType === 'payment_required') {
258
+ return PaymentRequiredError.fromResponse(data);
259
+ }
260
+ break;
261
+ case 403:
262
+ if (errorType === 'feature_not_available') {
263
+ return FeatureNotAvailableError.fromResponse(data);
264
+ }
265
+ if (errorType === 'account_blocked') {
266
+ return AccountBlockedError.fromResponse(data);
267
+ }
268
+ if (errorType === 'insufficient_permissions') {
269
+ return InsufficientPermissionsError.fromResponse(data);
270
+ }
271
+ break;
272
+ }
273
+ return null;
274
+ }
275
+ /**
276
+ * Check if an error is a subscription-related error
277
+ */
278
+ export function isSubscriptionError(error) {
279
+ return error instanceof QuotaExceededError
280
+ || error instanceof FeatureNotAvailableError
281
+ || error instanceof PaymentRequiredError
282
+ || error instanceof AccountBlockedError
283
+ || error instanceof InsufficientPermissionsError;
284
+ }
285
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../src/errors/subscription.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -29,7 +29,7 @@ export { migrateConfig, checkAndMigrate, autoMigrate } from './config/migration.
29
29
  export { getTokenForOrg, getOrgName, listOrganizations, projectBelongsToOrg, extractOrgIdFromToken, getProjectsForOrg, isMultiOrgMode, validateConfig } from './config/helpers.js';
30
30
  export { resolveContext, isValidOrgId, isValidProjectId, createContext } from './config/context.js';
31
31
  export { AceClient } from './client/ace-client.js';
32
- export type { AceClientOptions } from './client/ace-client.js';
32
+ export type { AceClientOptions, UsageUpdateCallback, QuotaWarningCallback, ReadOnlyModeCallback, AccountBlockedCallback } from './client/ace-client.js';
33
33
  export { LocalCacheService } from './cache/local-cache.js';
34
34
  export type { CacheConfig } from './cache/local-cache.js';
35
35
  export { SessionStorage } from './cache/session-storage.js';
@@ -54,4 +54,7 @@ export type { Device, DeviceLimit, RemoveDeviceResult } from './types/devices.js
54
54
  export { listDevices, renameDevice, removeDevice, getDeviceLimit } from './devices/index.js';
55
55
  export type { Project, ProjectsResponse } from './types/projects.js';
56
56
  export { listProjects } from './projects/index.js';
57
+ export type { UsageMetric, UsageInfo, PlanTier, SubscriptionType, SubscriptionStatus, QuotaErrorResponse, FeatureErrorResponse, PaymentRequiredResponse, AccountBlockedResponse, PermissionsErrorResponse, SubscriptionErrorResponse } from './types/subscription.js';
58
+ export { isQuotaError, isFeatureError, isPaymentRequiredError, isAccountBlockedError, isPermissionsError, parsePlan, getUsagePercentage, isNearLimit, isOverLimit, getFeatures } from './types/subscription.js';
59
+ export { QuotaExceededError, FeatureNotAvailableError, PaymentRequiredError, AccountBlockedError, InsufficientPermissionsError, createSubscriptionError, isSubscriptionError } from './errors/index.js';
57
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,YAAY,EAEV,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,cAAc,EACd,aAAa,EAGb,aAAa,EACb,0BAA0B,EAC1B,4BAA4B,EAG5B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAGlB,kBAAkB,EAClB,gBAAgB,EAGhB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,YAAY,EACV,UAAU,EACV,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,YAAY,EACZ,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAEV,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAM7D,YAAY,EACV,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EAAG,wBAAwB;AAC/C,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EACX,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAEL,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,MAAM,EAEN,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,mBAAmB,EACnB,SAAS,EACT,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,YAAY,EAEZ,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEL,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EAEb,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAM1D,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9C,OAAO,EAEL,UAAU,EACV,aAAa,EACb,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAEL,UAAU,EACV,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,EAEL,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAEL,cAAc,EACf,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAMpC,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAEL,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAEL,qBAAqB,EACrB,aAAa,EACb,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAMnC,YAAY,EACV,aAAa,IAAI,oBAAoB,EACrC,WAAW,EACX,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,YAAY,EAEV,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EAEjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,sBAAsB,EAEtB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,eAAe,EAEf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAMrC,YAAY,EACV,aAAa,EACb,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAMzC,YAAY,EACV,QAAQ,EACR,WAAW,EACX,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACd,MAAM,4BAA4B,CAAC;AAMpC,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAMxD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AAMxC,YAAY,EACV,MAAM,EACN,WAAW,EACX,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACf,MAAM,oBAAoB,CAAC;AAM5B,YAAY,EACV,OAAO,EACP,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,YAAY,EACb,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -79,4 +79,19 @@ export { ProjectIndex } from './cache/project-index.js';
79
79
  export { bootstrapWithStreaming, bootstrapWithoutStreaming } from './services/bootstrap-stream.js';
80
80
  export { listDevices, renameDevice, removeDevice, getDeviceLimit } from './devices/index.js';
81
81
  export { listProjects } from './projects/index.js';
82
+ export {
83
+ // Type guards
84
+ isQuotaError, isFeatureError, isPaymentRequiredError, isAccountBlockedError, isPermissionsError,
85
+ // Helper functions
86
+ parsePlan, getUsagePercentage, isNearLimit, isOverLimit, getFeatures } from './types/subscription.js';
87
+ // =============================================================================
88
+ // Subscription Errors (v2.8.0+)
89
+ // =============================================================================
90
+ export {
91
+ // Error classes
92
+ QuotaExceededError, FeatureNotAvailableError, PaymentRequiredError, AccountBlockedError, InsufficientPermissionsError,
93
+ // Factory function
94
+ createSubscriptionError,
95
+ // Type guard
96
+ isSubscriptionError } from './errors/index.js';
82
97
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -260,6 +260,28 @@ export interface LearningResponse {
260
260
  * Absent for older servers or when analysis fails
261
261
  */
262
262
  learning_statistics?: LearningStatistics;
263
+ /**
264
+ * Whether learning was queued for later processing
265
+ * @since v2.8.0 (quota support)
266
+ */
267
+ learning_queued?: boolean;
268
+ /**
269
+ * Whether quota was exceeded (graceful handling)
270
+ * When true, stored=false and no error is thrown
271
+ * @since v2.8.0 (quota support)
272
+ */
273
+ quota_exceeded?: boolean;
274
+ /**
275
+ * Human-readable message (especially for quota exceeded)
276
+ * @since v2.8.0 (quota support)
277
+ */
278
+ message?: string;
279
+ /**
280
+ * Quota error code when quota_exceeded=true
281
+ * Values: TRACES_LIMIT_EXCEEDED, PATTERN_LIMIT_REACHED, TOTAL_PATTERNS_EXCEEDED
282
+ * @since v2.8.0 (quota support)
283
+ */
284
+ quota_error_code?: string;
263
285
  }
264
286
  /**
265
287
  * Stage identifiers for SSE learning stream events
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../src/types/pattern.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../src/types/pattern.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/types/pattern.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+QH,MAAM,CAAC,MAAM,oBAAoB,GAAkD;IACjF,KAAK,EAAE;QACL,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,EAAE;KACd;IACD,MAAM,EAAE;QACN,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,EAAE;KACd;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC,CAAC,EAAG,YAAY;QAC5B,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,GAAG;KACf;CACF,CAAC;AAqGF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwC;IACvE,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;CACX,CAAC"}
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/types/pattern.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+QH,MAAM,CAAC,MAAM,oBAAoB,GAAkD;IACjF,KAAK,EAAE;QACL,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,EAAE;KACd;IACD,MAAM,EAAE;QACN,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,EAAE;KACd;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC,CAAC,EAAG,YAAY;QAC5B,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,GAAG;KACf;CACF,CAAC;AA+HF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwC;IACvE,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;CACX,CAAC"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Subscription Types for ACE SDK
3
+ *
4
+ * Types for handling subscription status, usage metrics,
5
+ * and billing-related error responses from the ACE server.
6
+ *
7
+ * @package @ace-sdk/core
8
+ * @since v2.8.0
9
+ */
10
+ /**
11
+ * A single usage metric with current usage and limit
12
+ */
13
+ export interface UsageMetric {
14
+ used: number;
15
+ limit: number;
16
+ }
17
+ /**
18
+ * Complete usage information parsed from X-ACE-* headers
19
+ */
20
+ export interface UsageInfo {
21
+ /** Full plan string, e.g., "individual/free", "team/pro" */
22
+ plan: string;
23
+ /** Subscription type: individual or team */
24
+ subscriptionType: SubscriptionType;
25
+ /** Plan tier within the subscription type */
26
+ planTier: PlanTier;
27
+ /** Account status */
28
+ status: SubscriptionStatus;
29
+ /** Per-project pattern limit */
30
+ patterns: UsageMetric;
31
+ /** Org-wide pattern limit */
32
+ patternsTotal: UsageMetric;
33
+ /** Number of projects */
34
+ projects: UsageMetric;
35
+ /** Custom domains (add-on feature) */
36
+ domains: UsageMetric;
37
+ /** Playbook templates */
38
+ templates: UsageMetric;
39
+ /** API calls (resets on billing cycle) */
40
+ apiCalls: UsageMetric;
41
+ /** Traces per day (resets daily at midnight UTC) */
42
+ tracesToday: UsageMetric;
43
+ /** Feature availability based on plan */
44
+ features: {
45
+ teams: boolean;
46
+ sharing: boolean;
47
+ apiAccess: boolean;
48
+ prioritySupport: boolean;
49
+ };
50
+ /** Team info (only present for team subscriptions) */
51
+ team?: {
52
+ orgId: string;
53
+ orgName: string;
54
+ seatsUsed: number;
55
+ seatsLimit: number;
56
+ };
57
+ /**
58
+ * Subscription last updated timestamp for cache invalidation
59
+ * From X-ACE-Subscription-Updated-At header
60
+ * @since v2.8.0
61
+ */
62
+ subscriptionUpdatedAt?: string;
63
+ }
64
+ /**
65
+ * Available plan tiers
66
+ */
67
+ export type PlanTier = 'free' | 'basic' | 'pro';
68
+ /**
69
+ * Subscription types
70
+ */
71
+ export type SubscriptionType = 'individual' | 'team';
72
+ /**
73
+ * Subscription status values
74
+ */
75
+ export type SubscriptionStatus = 'active' | 'trialing' | 'read_only' | 'blocked';
76
+ /**
77
+ * 429 - Quota exceeded error response
78
+ */
79
+ export interface QuotaErrorResponse {
80
+ error: 'quota_exceeded';
81
+ code: string;
82
+ message: string;
83
+ resource: string;
84
+ current: number;
85
+ limit: number;
86
+ upgrade_url: string;
87
+ }
88
+ /**
89
+ * 403 - Feature not available error response
90
+ */
91
+ export interface FeatureErrorResponse {
92
+ error: 'feature_not_available';
93
+ code: string;
94
+ feature: string;
95
+ required_plan: string;
96
+ upgrade_url: string;
97
+ }
98
+ /**
99
+ * 402 - Payment required error response (read-only mode)
100
+ */
101
+ export interface PaymentRequiredResponse {
102
+ error: 'payment_required';
103
+ code: string;
104
+ message: string;
105
+ days_until_block: number;
106
+ upgrade_url: string;
107
+ }
108
+ /**
109
+ * 403 - Account blocked error response
110
+ */
111
+ export interface AccountBlockedResponse {
112
+ error: 'account_blocked';
113
+ code: string;
114
+ message: string;
115
+ upgrade_url: string;
116
+ }
117
+ /**
118
+ * 403 - Insufficient permissions error response
119
+ */
120
+ export interface PermissionsErrorResponse {
121
+ error: 'insufficient_permissions';
122
+ code: string;
123
+ message: string;
124
+ required_role: string;
125
+ }
126
+ /**
127
+ * Union type for all subscription-related error responses
128
+ */
129
+ export type SubscriptionErrorResponse = QuotaErrorResponse | FeatureErrorResponse | PaymentRequiredResponse | AccountBlockedResponse | PermissionsErrorResponse;
130
+ /**
131
+ * Check if error response is quota exceeded
132
+ */
133
+ export declare function isQuotaError(data: unknown): data is QuotaErrorResponse;
134
+ /**
135
+ * Check if error response is feature not available
136
+ */
137
+ export declare function isFeatureError(data: unknown): data is FeatureErrorResponse;
138
+ /**
139
+ * Check if error response is payment required
140
+ */
141
+ export declare function isPaymentRequiredError(data: unknown): data is PaymentRequiredResponse;
142
+ /**
143
+ * Check if error response is account blocked
144
+ */
145
+ export declare function isAccountBlockedError(data: unknown): data is AccountBlockedResponse;
146
+ /**
147
+ * Check if error response is insufficient permissions
148
+ */
149
+ export declare function isPermissionsError(data: unknown): data is PermissionsErrorResponse;
150
+ /**
151
+ * Parse plan string into type and tier
152
+ * @param plan - Plan string like "individual/free" or "team/pro"
153
+ */
154
+ export declare function parsePlan(plan: string): {
155
+ type: SubscriptionType;
156
+ tier: PlanTier;
157
+ };
158
+ /**
159
+ * Calculate usage percentage
160
+ */
161
+ export declare function getUsagePercentage(metric: UsageMetric): number;
162
+ /**
163
+ * Check if a metric is near limit (>80%)
164
+ */
165
+ export declare function isNearLimit(metric: UsageMetric, threshold?: number): boolean;
166
+ /**
167
+ * Check if a metric has exceeded its limit
168
+ */
169
+ export declare function isOverLimit(metric: UsageMetric): boolean;
170
+ /**
171
+ * Get feature availability based on plan
172
+ */
173
+ export declare function getFeatures(type: SubscriptionType, tier: PlanTier): UsageInfo['features'];
174
+ //# sourceMappingURL=subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/types/subscription.ts"],"names":[],"mappings":"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"}