@ace-sdk/core 2.7.1 → 2.9.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/dist/auth/index.d.ts +2 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +3 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/utils.d.ts +68 -1
- package/dist/auth/utils.d.ts.map +1 -1
- package/dist/auth/utils.js +147 -2
- package/dist/auth/utils.js.map +1 -1
- package/dist/cache/local-cache.d.ts +17 -0
- package/dist/cache/local-cache.d.ts.map +1 -1
- package/dist/cache/local-cache.js +42 -0
- package/dist/cache/local-cache.js.map +1 -1
- package/dist/client/ace-client.d.ts +45 -0
- package/dist/client/ace-client.d.ts.map +1 -1
- package/dist/client/ace-client.js +143 -4
- package/dist/client/ace-client.js.map +1 -1
- package/dist/client/http.d.ts +42 -0
- package/dist/client/http.d.ts.map +1 -1
- package/dist/client/http.js +97 -0
- package/dist/client/http.js.map +1 -1
- package/dist/errors/index.d.ts +7 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +13 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/subscription.d.ts +214 -0
- package/dist/errors/subscription.d.ts.map +1 -0
- package/dist/errors/subscription.js +285 -0
- package/dist/errors/subscription.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/types/pattern.d.ts +22 -0
- package/dist/types/pattern.d.ts.map +1 -1
- package/dist/types/pattern.js.map +1 -1
- package/dist/types/subscription.d.ts +174 -0
- package/dist/types/subscription.d.ts.map +1 -0
- package/dist/types/subscription.js +88 -0
- package/dist/types/subscription.js.map +1 -0
- package/package.json +1 -1
package/dist/auth/index.d.ts
CHANGED
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
* @package @ace-sdk/core
|
|
4
4
|
*/
|
|
5
5
|
export { requestDeviceCode, pollForToken, login, logout } from './device-auth.js';
|
|
6
|
-
export { getEffectiveToken, getEffectiveOrgId, isAuthenticated, isUserAuthenticated, getCurrentUser, getTokenType, maskToken } from './utils.js';
|
|
6
|
+
export { getEffectiveToken, getEffectiveOrgId, isAuthenticated, isUserAuthenticated, getCurrentUser, getTokenType, maskToken, getTokenStatus, isTokenLocallyExpired, isAuthenticatedAsync } from './utils.js';
|
|
7
|
+
export type { TokenStatus, AuthValidationResult } from './utils.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,MAAM,EACP,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,MAAM,EACP,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,SAAS,EAET,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/auth/index.js
CHANGED
|
@@ -5,5 +5,7 @@
|
|
|
5
5
|
// Device code authentication
|
|
6
6
|
export { requestDeviceCode, pollForToken, login, logout } from './device-auth.js';
|
|
7
7
|
// Auth utilities
|
|
8
|
-
export { getEffectiveToken, getEffectiveOrgId, isAuthenticated, isUserAuthenticated, getCurrentUser, getTokenType, maskToken
|
|
8
|
+
export { getEffectiveToken, getEffectiveOrgId, isAuthenticated, isUserAuthenticated, getCurrentUser, getTokenType, maskToken,
|
|
9
|
+
// v2.9.0: Token validation enhancements
|
|
10
|
+
getTokenStatus, isTokenLocallyExpired, isAuthenticatedAsync } from './utils.js';
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,6BAA6B;AAC7B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,MAAM,EACP,MAAM,kBAAkB,CAAC;AAE1B,iBAAiB;AACjB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,6BAA6B;AAC7B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,MAAM,EACP,MAAM,kBAAkB,CAAC;AAE1B,iBAAiB;AACjB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,SAAS;AACT,wCAAwC;AACxC,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,YAAY,CAAC"}
|
package/dist/auth/utils.d.ts
CHANGED
|
@@ -27,7 +27,49 @@ export declare function getEffectiveToken(logger?: ILogger): string | null;
|
|
|
27
27
|
*/
|
|
28
28
|
export declare function getEffectiveOrgId(logger?: ILogger): string | null;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Token status information for UI display
|
|
31
|
+
*/
|
|
32
|
+
export interface TokenStatus {
|
|
33
|
+
hasToken: boolean;
|
|
34
|
+
isAccessExpired: boolean;
|
|
35
|
+
isRefreshExpired: boolean;
|
|
36
|
+
isHardCapExpired: boolean;
|
|
37
|
+
accessExpiresAt: Date | null;
|
|
38
|
+
refreshExpiresAt: Date | null;
|
|
39
|
+
absoluteExpiresAt: Date | null;
|
|
40
|
+
canAutoRefresh: boolean;
|
|
41
|
+
needsReLogin: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get detailed token status information
|
|
45
|
+
*
|
|
46
|
+
* Returns comprehensive token state for UI display and decision making.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const status = getTokenStatus();
|
|
51
|
+
* if (status.needsReLogin) {
|
|
52
|
+
* console.log('Session expired, please login again');
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export declare function getTokenStatus(logger?: ILogger): TokenStatus;
|
|
57
|
+
/**
|
|
58
|
+
* Check if token is locally expired (based on stored timestamps)
|
|
59
|
+
*
|
|
60
|
+
* Returns null if no expiry info available (legacy tokens).
|
|
61
|
+
* Returns true if hard cap or refresh token is expired.
|
|
62
|
+
* Returns false if session can continue (via auto-refresh or still valid).
|
|
63
|
+
*/
|
|
64
|
+
export declare function isTokenLocallyExpired(logger?: ILogger): boolean | null;
|
|
65
|
+
/**
|
|
66
|
+
* Check if user is authenticated (local check)
|
|
67
|
+
*
|
|
68
|
+
* This performs a fast, offline check that includes:
|
|
69
|
+
* 1. Token existence
|
|
70
|
+
* 2. Local expiry timestamps (hard cap and refresh token)
|
|
71
|
+
*
|
|
72
|
+
* For authoritative server-side validation, use isAuthenticatedAsync()
|
|
31
73
|
*/
|
|
32
74
|
export declare function isAuthenticated(logger?: ILogger): boolean;
|
|
33
75
|
/**
|
|
@@ -42,6 +84,31 @@ export declare function getCurrentUser(logger?: ILogger): CurrentUser | null;
|
|
|
42
84
|
* Get token type of current effective token
|
|
43
85
|
*/
|
|
44
86
|
export declare function getTokenType(logger?: ILogger): TokenType;
|
|
87
|
+
/**
|
|
88
|
+
* Result of async authentication check
|
|
89
|
+
*/
|
|
90
|
+
export interface AuthValidationResult {
|
|
91
|
+
authenticated: boolean;
|
|
92
|
+
reason?: 'no_token' | 'token_expired' | 'session_expired' | 'server_error';
|
|
93
|
+
user?: CurrentUser | null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Check authentication status with server validation
|
|
97
|
+
*
|
|
98
|
+
* Makes a server request to validate the token. Use this when you need
|
|
99
|
+
* authoritative confirmation that the session is still valid.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* const result = await isAuthenticatedAsync();
|
|
104
|
+
* if (result.authenticated) {
|
|
105
|
+
* console.log(`Logged in as: ${result.user?.email}`);
|
|
106
|
+
* } else {
|
|
107
|
+
* console.log(`Not authenticated: ${result.reason}`);
|
|
108
|
+
* }
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
export declare function isAuthenticatedAsync(logger?: ILogger): Promise<AuthValidationResult>;
|
|
45
112
|
/**
|
|
46
113
|
* Mask token for display (show first 15 chars + ...)
|
|
47
114
|
*/
|
package/dist/auth/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/auth/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAY,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/auth/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAY,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAiCjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA0CjE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CA2C5D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CA+BtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAWzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAI7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CA2BnE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAGxD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,GAAG,eAAe,GAAG,iBAAiB,GAAG,cAAc,CAAC;IAC3E,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA8B1F;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI/C"}
|
package/dist/auth/utils.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { existsSync, readFileSync } from 'fs';
|
|
9
9
|
import { detectTokenType } from '../types/auth.js';
|
|
10
10
|
import { getXdgConfigPath } from '../config/xdg.js';
|
|
11
|
+
import { loadUserAuth } from '../config/auth.js';
|
|
11
12
|
/**
|
|
12
13
|
* Get effective API token (user token takes priority over legacy org token)
|
|
13
14
|
*
|
|
@@ -94,11 +95,110 @@ export function getEffectiveOrgId(logger) {
|
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
97
|
/**
|
|
97
|
-
*
|
|
98
|
+
* Get detailed token status information
|
|
99
|
+
*
|
|
100
|
+
* Returns comprehensive token state for UI display and decision making.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```typescript
|
|
104
|
+
* const status = getTokenStatus();
|
|
105
|
+
* if (status.needsReLogin) {
|
|
106
|
+
* console.log('Session expired, please login again');
|
|
107
|
+
* }
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
export function getTokenStatus(logger) {
|
|
111
|
+
const auth = loadUserAuth(logger);
|
|
112
|
+
const now = Date.now();
|
|
113
|
+
if (!auth?.token) {
|
|
114
|
+
return {
|
|
115
|
+
hasToken: false,
|
|
116
|
+
isAccessExpired: false,
|
|
117
|
+
isRefreshExpired: false,
|
|
118
|
+
isHardCapExpired: false,
|
|
119
|
+
accessExpiresAt: null,
|
|
120
|
+
refreshExpiresAt: null,
|
|
121
|
+
absoluteExpiresAt: null,
|
|
122
|
+
canAutoRefresh: false,
|
|
123
|
+
needsReLogin: true
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
const accessExpiresAt = auth.expires_at ? new Date(auth.expires_at) : null;
|
|
127
|
+
const refreshExpiresAt = auth.refresh_expires_at ? new Date(auth.refresh_expires_at) : null;
|
|
128
|
+
const absoluteExpiresAt = auth.absolute_expires_at ? new Date(auth.absolute_expires_at) : null;
|
|
129
|
+
const isAccessExpired = accessExpiresAt ? accessExpiresAt.getTime() < now : false;
|
|
130
|
+
const isRefreshExpired = refreshExpiresAt ? refreshExpiresAt.getTime() < now : false;
|
|
131
|
+
const isHardCapExpired = absoluteExpiresAt ? absoluteExpiresAt.getTime() < now : false;
|
|
132
|
+
// Can auto-refresh if refresh token is still valid and hard cap not exceeded
|
|
133
|
+
const canAutoRefresh = !isRefreshExpired && !isHardCapExpired && !!auth.refresh_token;
|
|
134
|
+
// Needs re-login if hard cap exceeded OR refresh token expired
|
|
135
|
+
const needsReLogin = isHardCapExpired || isRefreshExpired;
|
|
136
|
+
return {
|
|
137
|
+
hasToken: true,
|
|
138
|
+
isAccessExpired,
|
|
139
|
+
isRefreshExpired,
|
|
140
|
+
isHardCapExpired,
|
|
141
|
+
accessExpiresAt,
|
|
142
|
+
refreshExpiresAt,
|
|
143
|
+
absoluteExpiresAt,
|
|
144
|
+
canAutoRefresh,
|
|
145
|
+
needsReLogin
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Check if token is locally expired (based on stored timestamps)
|
|
150
|
+
*
|
|
151
|
+
* Returns null if no expiry info available (legacy tokens).
|
|
152
|
+
* Returns true if hard cap or refresh token is expired.
|
|
153
|
+
* Returns false if session can continue (via auto-refresh or still valid).
|
|
154
|
+
*/
|
|
155
|
+
export function isTokenLocallyExpired(logger) {
|
|
156
|
+
const auth = loadUserAuth(logger);
|
|
157
|
+
if (!auth)
|
|
158
|
+
return null;
|
|
159
|
+
const now = Date.now();
|
|
160
|
+
// Check hard cap first (absolute_expires_at)
|
|
161
|
+
if (auth.absolute_expires_at) {
|
|
162
|
+
const hardCap = new Date(auth.absolute_expires_at);
|
|
163
|
+
if (hardCap.getTime() < now) {
|
|
164
|
+
logger?.debug('Token hard cap expired (7-day limit)');
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// Check refresh token expiry
|
|
169
|
+
if (auth.refresh_expires_at) {
|
|
170
|
+
const refreshExpiry = new Date(auth.refresh_expires_at);
|
|
171
|
+
if (refreshExpiry.getTime() < now) {
|
|
172
|
+
logger?.debug('Refresh token expired');
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// If we have expiry info and neither is expired, token is still usable
|
|
177
|
+
if (auth.absolute_expires_at || auth.refresh_expires_at) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
// No expiry info (legacy token)
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Check if user is authenticated (local check)
|
|
185
|
+
*
|
|
186
|
+
* This performs a fast, offline check that includes:
|
|
187
|
+
* 1. Token existence
|
|
188
|
+
* 2. Local expiry timestamps (hard cap and refresh token)
|
|
189
|
+
*
|
|
190
|
+
* For authoritative server-side validation, use isAuthenticatedAsync()
|
|
98
191
|
*/
|
|
99
192
|
export function isAuthenticated(logger) {
|
|
100
193
|
const token = getEffectiveToken(logger);
|
|
101
|
-
|
|
194
|
+
if (!token)
|
|
195
|
+
return false;
|
|
196
|
+
// Check local expiry - if definitely expired, return false
|
|
197
|
+
const expired = isTokenLocallyExpired(logger);
|
|
198
|
+
if (expired === true) {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
return true;
|
|
102
202
|
}
|
|
103
203
|
/**
|
|
104
204
|
* Check if using user token (vs legacy org token)
|
|
@@ -143,6 +243,51 @@ export function getTokenType(logger) {
|
|
|
143
243
|
const token = getEffectiveToken(logger);
|
|
144
244
|
return token ? detectTokenType(token) : 'unknown';
|
|
145
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Check authentication status with server validation
|
|
248
|
+
*
|
|
249
|
+
* Makes a server request to validate the token. Use this when you need
|
|
250
|
+
* authoritative confirmation that the session is still valid.
|
|
251
|
+
*
|
|
252
|
+
* @example
|
|
253
|
+
* ```typescript
|
|
254
|
+
* const result = await isAuthenticatedAsync();
|
|
255
|
+
* if (result.authenticated) {
|
|
256
|
+
* console.log(`Logged in as: ${result.user?.email}`);
|
|
257
|
+
* } else {
|
|
258
|
+
* console.log(`Not authenticated: ${result.reason}`);
|
|
259
|
+
* }
|
|
260
|
+
* ```
|
|
261
|
+
*/
|
|
262
|
+
export async function isAuthenticatedAsync(logger) {
|
|
263
|
+
const token = getEffectiveToken(logger);
|
|
264
|
+
if (!token) {
|
|
265
|
+
return { authenticated: false, reason: 'no_token' };
|
|
266
|
+
}
|
|
267
|
+
// Check local expiry first
|
|
268
|
+
const expired = isTokenLocallyExpired(logger);
|
|
269
|
+
if (expired === true) {
|
|
270
|
+
return { authenticated: false, reason: 'token_expired' };
|
|
271
|
+
}
|
|
272
|
+
// Try server validation
|
|
273
|
+
try {
|
|
274
|
+
// Dynamic import to avoid circular dependency
|
|
275
|
+
const { validateToken } = await import('../client/http.js');
|
|
276
|
+
const user = await validateToken(logger);
|
|
277
|
+
if (user) {
|
|
278
|
+
return { authenticated: true, user };
|
|
279
|
+
}
|
|
280
|
+
return { authenticated: false, reason: 'session_expired' };
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
// Network error - fall back to local check
|
|
284
|
+
logger?.debug('Server validation failed, using local check:', error);
|
|
285
|
+
return {
|
|
286
|
+
authenticated: isAuthenticated(logger),
|
|
287
|
+
reason: 'server_error'
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
}
|
|
146
291
|
/**
|
|
147
292
|
* Mask token for display (show first 15 chars + ...)
|
|
148
293
|
*/
|
package/dist/auth/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/auth/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/auth/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,23 @@ export declare class LocalCacheService {
|
|
|
64
64
|
* Hash content for embedding cache key
|
|
65
65
|
*/
|
|
66
66
|
private hashContent;
|
|
67
|
+
/**
|
|
68
|
+
* Check if subscription has changed and invalidate cache if needed
|
|
69
|
+
* Uses X-ACE-Subscription-Updated-At header from server responses
|
|
70
|
+
*
|
|
71
|
+
* @param subscriptionUpdatedAt - ISO 8601 timestamp from server header
|
|
72
|
+
* @returns true if cache was invalidated due to subscription change
|
|
73
|
+
* @since v2.8.0 (subscription support)
|
|
74
|
+
*/
|
|
75
|
+
checkSubscriptionChange(subscriptionUpdatedAt: string | null): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Update subscription timestamp without invalidating cache
|
|
78
|
+
* Used when cache was just refreshed from server
|
|
79
|
+
*
|
|
80
|
+
* @param subscriptionUpdatedAt - ISO 8601 timestamp from server header
|
|
81
|
+
* @since v2.8.0 (subscription support)
|
|
82
|
+
*/
|
|
83
|
+
updateSubscriptionTimestamp(subscriptionUpdatedAt: string | null): void;
|
|
67
84
|
/**
|
|
68
85
|
* Close database connection
|
|
69
86
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-cache.d.ts","sourceRoot":"","sources":["../../src/cache/local-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,kBAAkB,EAAkB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO;IAoBjD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4CxB;;OAEG;IACH,WAAW,IAAI,kBAAkB,GAAG,IAAI;IA0CxC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IA2ChD;;OAEG;IACH,SAAS,IAAI,OAAO;IAYpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAqB9C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAa1D;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQxC;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO9C;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
|
1
|
+
{"version":3,"file":"local-cache.d.ts","sourceRoot":"","sources":["../../src/cache/local-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,kBAAkB,EAAkB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO;IAoBjD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4CxB;;OAEG;IACH,WAAW,IAAI,kBAAkB,GAAG,IAAI;IA0CxC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IA2ChD;;OAEG;IACH,SAAS,IAAI,OAAO;IAYpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAqB9C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAa1D;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQxC;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO9C;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;;;OAOG;IACH,uBAAuB,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IA0BtE;;;;;;OAMG;IACH,2BAA2B,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMvE;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -217,6 +217,48 @@ export class LocalCacheService {
|
|
|
217
217
|
hashContent(content) {
|
|
218
218
|
return createHash('sha256').update(content).digest('hex');
|
|
219
219
|
}
|
|
220
|
+
/**
|
|
221
|
+
* Check if subscription has changed and invalidate cache if needed
|
|
222
|
+
* Uses X-ACE-Subscription-Updated-At header from server responses
|
|
223
|
+
*
|
|
224
|
+
* @param subscriptionUpdatedAt - ISO 8601 timestamp from server header
|
|
225
|
+
* @returns true if cache was invalidated due to subscription change
|
|
226
|
+
* @since v2.8.0 (subscription support)
|
|
227
|
+
*/
|
|
228
|
+
checkSubscriptionChange(subscriptionUpdatedAt) {
|
|
229
|
+
if (!subscriptionUpdatedAt) {
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
const cachedTimestamp = this.getSyncState('subscription_updated_at');
|
|
233
|
+
if (cachedTimestamp) {
|
|
234
|
+
const cachedDate = new Date(cachedTimestamp);
|
|
235
|
+
const newDate = new Date(subscriptionUpdatedAt);
|
|
236
|
+
if (newDate > cachedDate) {
|
|
237
|
+
// Subscription changed - clear cache
|
|
238
|
+
this.logger?.info('Subscription changed, invalidating cache');
|
|
239
|
+
this.clear();
|
|
240
|
+
this.setSyncState('subscription_updated_at', subscriptionUpdatedAt);
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
// First time seeing subscription timestamp - store it
|
|
246
|
+
this.setSyncState('subscription_updated_at', subscriptionUpdatedAt);
|
|
247
|
+
}
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Update subscription timestamp without invalidating cache
|
|
252
|
+
* Used when cache was just refreshed from server
|
|
253
|
+
*
|
|
254
|
+
* @param subscriptionUpdatedAt - ISO 8601 timestamp from server header
|
|
255
|
+
* @since v2.8.0 (subscription support)
|
|
256
|
+
*/
|
|
257
|
+
updateSubscriptionTimestamp(subscriptionUpdatedAt) {
|
|
258
|
+
if (subscriptionUpdatedAt) {
|
|
259
|
+
this.setSyncState('subscription_updated_at', subscriptionUpdatedAt);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
220
262
|
/**
|
|
221
263
|
* Close database connection
|
|
222
264
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-cache.js","sourceRoot":"","sources":["../../src/cache/local-cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-cache.js","sourceRoot":"","sources":["../../src/cache/local-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,25 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { AceConfig, AceContext, ServerConfig } from '../types/config.js';
|
|
12
12
|
import { StructuredPlaybook, PlaybookStats, DeltaOperation, PlaybookBullet, SearchResponseWithMetadata, PlaybookResponseWithMetadata, LearningResponse, BootstrapResponse, StreamOptions } from '../types/pattern.js';
|
|
13
|
+
import type { UsageInfo } from '../types/subscription.js';
|
|
13
14
|
import { LocalCacheService } from '../cache/local-cache.js';
|
|
14
15
|
import { ILogger } from '../logger/index.js';
|
|
16
|
+
/**
|
|
17
|
+
* Callback for usage updates (v2.8.0+)
|
|
18
|
+
*/
|
|
19
|
+
export type UsageUpdateCallback = (usage: UsageInfo) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Callback for quota warnings (v2.8.0+)
|
|
22
|
+
*/
|
|
23
|
+
export type QuotaWarningCallback = (message: string, percentage: number, resource: string) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Callback for read-only mode (v2.8.0+)
|
|
26
|
+
*/
|
|
27
|
+
export type ReadOnlyModeCallback = (daysUntilBlock: number) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Callback for account blocked (v2.8.0+)
|
|
30
|
+
*/
|
|
31
|
+
export type AccountBlockedCallback = () => void;
|
|
15
32
|
/**
|
|
16
33
|
* Options for creating an ACE client
|
|
17
34
|
*/
|
|
@@ -20,6 +37,14 @@ export interface AceClientOptions {
|
|
|
20
37
|
logger?: ILogger;
|
|
21
38
|
/** Enable auto-refresh of expired tokens (v4.5.0, default: true for user tokens) */
|
|
22
39
|
autoRefresh?: boolean;
|
|
40
|
+
/** Callback when usage info is received from headers (v2.8.0+) */
|
|
41
|
+
onUsageUpdate?: UsageUpdateCallback;
|
|
42
|
+
/** Callback when usage is near limit (>80%) (v2.8.0+) */
|
|
43
|
+
onQuotaWarning?: QuotaWarningCallback;
|
|
44
|
+
/** Callback when account enters read-only mode (v2.8.0+) */
|
|
45
|
+
onReadOnlyMode?: ReadOnlyModeCallback;
|
|
46
|
+
/** Callback when account is blocked (v2.8.0+) */
|
|
47
|
+
onAccountBlocked?: AccountBlockedCallback;
|
|
23
48
|
}
|
|
24
49
|
export declare class AceClient {
|
|
25
50
|
private config;
|
|
@@ -28,6 +53,11 @@ export declare class AceClient {
|
|
|
28
53
|
private logger;
|
|
29
54
|
private autoRefresh;
|
|
30
55
|
private currentToken;
|
|
56
|
+
private onUsageUpdate?;
|
|
57
|
+
private onQuotaWarning?;
|
|
58
|
+
private onReadOnlyMode?;
|
|
59
|
+
private onAccountBlocked?;
|
|
60
|
+
private lastUsage?;
|
|
31
61
|
private configCache;
|
|
32
62
|
private CONFIG_CACHE_TTL;
|
|
33
63
|
constructor(config: AceConfig | AceContext, options?: AceClientOptions);
|
|
@@ -36,6 +66,18 @@ export declare class AceClient {
|
|
|
36
66
|
* Format: ace_{base64_with_org_id}
|
|
37
67
|
*/
|
|
38
68
|
private extractOrgId;
|
|
69
|
+
/**
|
|
70
|
+
* Parse usage headers from response (v2.8.0+)
|
|
71
|
+
*/
|
|
72
|
+
private parseUsageHeaders;
|
|
73
|
+
/**
|
|
74
|
+
* Process usage info and trigger callbacks (v2.8.0+)
|
|
75
|
+
*/
|
|
76
|
+
private processUsage;
|
|
77
|
+
/**
|
|
78
|
+
* Get last received usage info (v2.8.0+)
|
|
79
|
+
*/
|
|
80
|
+
getLastUsage(): UsageInfo | undefined;
|
|
39
81
|
private request;
|
|
40
82
|
/**
|
|
41
83
|
* Save structured playbook to server
|
|
@@ -103,6 +145,8 @@ export declare class AceClient {
|
|
|
103
145
|
/**
|
|
104
146
|
* Store execution trace for server-side analysis
|
|
105
147
|
* Server endpoint: POST /traces
|
|
148
|
+
*
|
|
149
|
+
* @since v2.8.0 Graceful quota handling - returns { quota_exceeded: true } instead of throwing
|
|
106
150
|
*/
|
|
107
151
|
storeExecutionTrace(trace: any): Promise<LearningResponse>;
|
|
108
152
|
/**
|
|
@@ -114,6 +158,7 @@ export declare class AceClient {
|
|
|
114
158
|
* @returns Final LearningResponse after stream completes
|
|
115
159
|
*
|
|
116
160
|
* @since v1.1.0
|
|
161
|
+
* @since v2.8.0 Graceful quota handling - returns { quota_exceeded: true } instead of throwing
|
|
117
162
|
*/
|
|
118
163
|
storeExecutionTraceStream(trace: any, options: StreamOptions): Promise<LearningResponse>;
|
|
119
164
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ace-client.d.ts","sourceRoot":"","sources":["../../src/client/ace-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,iBAAiB,EAEjB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAe,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oFAAoF;IACpF,WAAW,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ace-client.d.ts","sourceRoot":"","sources":["../../src/client/ace-client.ts"],"names":[],"mappings":"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"}
|