codebuff 1.0.228 → 1.0.229
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/background-process-manager.js +3 -5
- package/dist/background-process-manager.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +4 -4
- package/dist/client.js +7 -2
- package/dist/client.js.map +1 -1
- package/dist/code-map/tsconfig.tsbuildinfo +1 -1
- package/dist/common/actions.d.ts +108 -108
- package/dist/common/bigquery/client.js +1 -0
- package/dist/common/bigquery/client.js.map +1 -1
- package/dist/common/billing/balance-calculator.d.ts +3 -0
- package/dist/common/billing/balance-calculator.js +6 -2
- package/dist/common/billing/balance-calculator.js.map +1 -1
- package/dist/common/billing/grant-credits.d.ts +16 -1
- package/dist/common/billing/grant-credits.js +67 -2
- package/dist/common/billing/grant-credits.js.map +1 -1
- package/dist/common/constants.d.ts +1 -0
- package/dist/common/constants.js +1 -0
- package/dist/common/constants.js.map +1 -1
- package/dist/common/db/transaction.d.ts +12 -0
- package/dist/common/db/transaction.js +36 -0
- package/dist/common/db/transaction.js.map +1 -0
- package/dist/common/types/usage.d.ts +4 -4
- package/dist/common/util/string.d.ts +3 -2
- package/dist/common/util/string.js +14 -4
- package/dist/common/util/string.js.map +1 -1
- package/dist/common/websockets/websocket-schema.d.ts +202 -202
- package/dist/dev-process-manager.js +1 -1
- package/dist/dev-process-manager.js.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/utils/terminal.js +4 -7
- package/dist/utils/terminal.js.map +1 -1
- package/package.json +1 -1
- package/dist/common/actions.d.ts.map +0 -1
- package/dist/common/api-keys/constants.d.ts.map +0 -1
- package/dist/common/api-keys/crypto.d.ts.map +0 -1
- package/dist/common/billing/quota-manager.d.ts +0 -29
- package/dist/common/billing/quota-manager.d.ts.map +0 -1
- package/dist/common/billing/quota-manager.js +0 -251
- package/dist/common/billing/quota-manager.js.map +0 -1
- package/dist/common/browser-actions.d.ts.map +0 -1
- package/dist/common/constants/tools.d.ts.map +0 -1
- package/dist/common/constants.d.ts.map +0 -1
- package/dist/common/db/drizzle.config.d.ts.map +0 -1
- package/dist/common/db/env.d.mts.map +0 -1
- package/dist/common/db/index.d.ts.map +0 -1
- package/dist/common/db/schema.d.ts.map +0 -1
- package/dist/common/env.d.mts.map +0 -1
- package/dist/common/project-file-tree.d.ts.map +0 -1
- package/dist/common/types/agent-state.d.ts.map +0 -1
- package/dist/common/types/config.d.ts +0 -43
- package/dist/common/types/config.js +0 -13
- package/dist/common/types/config.js.map +0 -1
- package/dist/common/types/message.d.ts.map +0 -1
- package/dist/common/types/plan.d.ts.map +0 -1
- package/dist/common/types/referral.d.ts.map +0 -1
- package/dist/common/types/tools.d.ts.map +0 -1
- package/dist/common/types/usage.d.ts.map +0 -1
- package/dist/common/util/__tests__/messages.test.d.ts.map +0 -1
- package/dist/common/util/__tests__/string.test.d.ts.map +0 -1
- package/dist/common/util/array.d.ts.map +0 -1
- package/dist/common/util/changes.d.ts.map +0 -1
- package/dist/common/util/credentials.d.ts.map +0 -1
- package/dist/common/util/crypto.d.ts +0 -27
- package/dist/common/util/crypto.js +0 -174
- package/dist/common/util/crypto.js.map +0 -1
- package/dist/common/util/dates.d.ts.map +0 -1
- package/dist/common/util/file.d.ts.map +0 -1
- package/dist/common/util/git.d.ts.map +0 -1
- package/dist/common/util/logger.d.ts.map +0 -1
- package/dist/common/util/lru-cache.d.ts.map +0 -1
- package/dist/common/util/messages.d.ts.map +0 -1
- package/dist/common/util/min-heap.d.ts.map +0 -1
- package/dist/common/util/object.d.ts.map +0 -1
- package/dist/common/util/patch.d.ts.map +0 -1
- package/dist/common/util/promise.d.ts.map +0 -1
- package/dist/common/util/referral.d.ts.map +0 -1
- package/dist/common/util/saxy.d.ts.map +0 -1
- package/dist/common/util/server/referral.d.ts.map +0 -1
- package/dist/common/util/string.d.ts.map +0 -1
- package/dist/common/util/stripe.d.ts.map +0 -1
- package/dist/common/util/tools.d.ts +0 -2
- package/dist/common/util/tools.js +0 -13
- package/dist/common/util/tools.js.map +0 -1
- package/dist/common/websockets/websocket-client.d.ts.map +0 -1
- package/dist/common/websockets/websocket-schema.d.ts.map +0 -1
|
@@ -129,6 +129,7 @@ async function getTracesWithoutRelabels(model, limit = 100, userId = undefined,
|
|
|
129
129
|
AND JSON_EXTRACT_SCALAR(t.payload, '$.user_input_id') = r.user_input_id
|
|
130
130
|
WHERE t.type = 'get-relevant-files'
|
|
131
131
|
AND r.agent_step_id IS NULL
|
|
132
|
+
${userId ? `AND t.user_id = '${userId}'` : ''}
|
|
132
133
|
ORDER BY t.created_at DESC
|
|
133
134
|
LIMIT ${limit}
|
|
134
135
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/bigquery/client.ts"],"names":[],"mappings":";;AAsBA,sCAgCC;AAED,kCAyBC;AAED,sCAyBC;AAED,0CAgBC;AAED,8CAgBC;AAED,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/bigquery/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,9 @@ export declare function calculateUsageAndBalance(userId: string, quotaResetDate:
|
|
|
41
41
|
* Follows priority order strictly - higher priority grants (lower number) are consumed first.
|
|
42
42
|
* Returns details about credit consumption including how many came from purchased credits.
|
|
43
43
|
*
|
|
44
|
+
* Uses SERIALIZABLE isolation to prevent concurrent modifications that could lead to
|
|
45
|
+
* incorrect credit usage (e.g., "double spending" credits).
|
|
46
|
+
*
|
|
44
47
|
* @param userId The ID of the user
|
|
45
48
|
* @param creditsToConsume Number of credits being consumed
|
|
46
49
|
* @returns Promise resolving to number of credits consumed
|
|
@@ -34,6 +34,7 @@ const db_1 = __importDefault(require("../db"));
|
|
|
34
34
|
const schema = __importStar(require("../db/schema"));
|
|
35
35
|
const drizzle_orm_1 = require("drizzle-orm");
|
|
36
36
|
const logger_1 = require("../util/logger");
|
|
37
|
+
const transaction_1 = require("../db/transaction");
|
|
37
38
|
/**
|
|
38
39
|
* Gets active grants for a user, ordered by expiration (soonest first), then priority, and creation date.
|
|
39
40
|
* Added optional `conn` param so callers inside a transaction can supply their TX object.
|
|
@@ -180,12 +181,15 @@ async function calculateUsageAndBalance(userId, quotaResetDate, now = new Date()
|
|
|
180
181
|
* Follows priority order strictly - higher priority grants (lower number) are consumed first.
|
|
181
182
|
* Returns details about credit consumption including how many came from purchased credits.
|
|
182
183
|
*
|
|
184
|
+
* Uses SERIALIZABLE isolation to prevent concurrent modifications that could lead to
|
|
185
|
+
* incorrect credit usage (e.g., "double spending" credits).
|
|
186
|
+
*
|
|
183
187
|
* @param userId The ID of the user
|
|
184
188
|
* @param creditsToConsume Number of credits being consumed
|
|
185
189
|
* @returns Promise resolving to number of credits consumed
|
|
186
190
|
*/
|
|
187
191
|
async function consumeCredits(userId, creditsToConsume) {
|
|
188
|
-
return await
|
|
192
|
+
return await (0, transaction_1.withSerializableTransaction)(async (tx) => {
|
|
189
193
|
const now = new Date();
|
|
190
194
|
const activeGrants = await getOrderedActiveGrants(userId, now, tx);
|
|
191
195
|
if (activeGrants.length === 0) {
|
|
@@ -194,7 +198,7 @@ async function consumeCredits(userId, creditsToConsume) {
|
|
|
194
198
|
}
|
|
195
199
|
const result = await consumeFromOrderedGrants(userId, creditsToConsume, activeGrants, tx);
|
|
196
200
|
return result;
|
|
197
|
-
});
|
|
201
|
+
}, { userId, creditsToConsume });
|
|
198
202
|
}
|
|
199
203
|
/**
|
|
200
204
|
* Calculate the total credits used during the current billing cycle for a user
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance-calculator.js","sourceRoot":"","sources":["../../src/billing/balance-calculator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"balance-calculator.js","sourceRoot":"","sources":["../../src/billing/balance-calculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { GrantType } from '../db/schema';
|
|
2
2
|
/**
|
|
3
3
|
* Finds the amount of the most recent expired 'free' grant for a user.
|
|
4
|
+
* Finds the amount of the most recent expired 'free' grant for a user,
|
|
5
|
+
* excluding migration grants (operation_id starting with 'migration-').
|
|
6
|
+
* If there is a previous grant, caps the amount at 2000 credits.
|
|
4
7
|
* If no expired 'free' grant is found, returns the default free limit.
|
|
5
8
|
* @param userId The ID of the user.
|
|
6
|
-
* @returns The amount of the last expired free grant or the default.
|
|
9
|
+
* @returns The amount of the last expired free grant (capped at 2000) or the default.
|
|
7
10
|
*/
|
|
8
11
|
export declare function getPreviousFreeGrantAmount(userId: string): Promise<number>;
|
|
9
12
|
/**
|
|
@@ -26,3 +29,15 @@ export declare function processAndGrantCredit(userId: string, amount: number, ty
|
|
|
26
29
|
* @returns true if the grant was found and revoked, false otherwise
|
|
27
30
|
*/
|
|
28
31
|
export declare function revokeGrantByOperationId(operationId: string, reason: string): Promise<boolean>;
|
|
32
|
+
/**
|
|
33
|
+
* Checks if a user's quota needs to be reset, and if so:
|
|
34
|
+
* 1. Calculates their new monthly grant amount
|
|
35
|
+
* 2. Issues the grant with the appropriate expiry
|
|
36
|
+
* 3. Updates their next_quota_reset date
|
|
37
|
+
* All of this is done in a single transaction with SERIALIZABLE isolation
|
|
38
|
+
* to prevent concurrent resets from creating duplicate grants.
|
|
39
|
+
*
|
|
40
|
+
* @param userId The ID of the user
|
|
41
|
+
* @returns The effective quota reset date (either existing or new)
|
|
42
|
+
*/
|
|
43
|
+
export declare function triggerMonthlyResetAndGrant(userId: string): Promise<Date>;
|
|
@@ -30,19 +30,27 @@ exports.getPreviousFreeGrantAmount = getPreviousFreeGrantAmount;
|
|
|
30
30
|
exports.calculateTotalReferralBonus = calculateTotalReferralBonus;
|
|
31
31
|
exports.processAndGrantCredit = processAndGrantCredit;
|
|
32
32
|
exports.revokeGrantByOperationId = revokeGrantByOperationId;
|
|
33
|
+
exports.triggerMonthlyResetAndGrant = triggerMonthlyResetAndGrant;
|
|
33
34
|
const db_1 = __importDefault(require("../db"));
|
|
34
35
|
const schema = __importStar(require("../db/schema"));
|
|
35
36
|
const logger_1 = require("../util/logger");
|
|
36
37
|
const grant_priorities_1 = require("../constants/grant-priorities");
|
|
37
38
|
const drizzle_orm_1 = require("drizzle-orm");
|
|
39
|
+
const string_1 = require("../util/string");
|
|
38
40
|
const constants_1 = require("../constants");
|
|
39
41
|
const promise_1 = require("../util/promise");
|
|
40
42
|
const sync_failure_1 = require("../util/sync-failure");
|
|
43
|
+
const dates_1 = require("../util/dates");
|
|
44
|
+
const plans_1 = require("./plans");
|
|
45
|
+
const transaction_1 = require("../db/transaction");
|
|
41
46
|
/**
|
|
42
47
|
* Finds the amount of the most recent expired 'free' grant for a user.
|
|
48
|
+
* Finds the amount of the most recent expired 'free' grant for a user,
|
|
49
|
+
* excluding migration grants (operation_id starting with 'migration-').
|
|
50
|
+
* If there is a previous grant, caps the amount at 2000 credits.
|
|
43
51
|
* If no expired 'free' grant is found, returns the default free limit.
|
|
44
52
|
* @param userId The ID of the user.
|
|
45
|
-
* @returns The amount of the last expired free grant or the default.
|
|
53
|
+
* @returns The amount of the last expired free grant (capped at 2000) or the default.
|
|
46
54
|
*/
|
|
47
55
|
async function getPreviousFreeGrantAmount(userId) {
|
|
48
56
|
const now = new Date();
|
|
@@ -56,8 +64,10 @@ async function getPreviousFreeGrantAmount(userId) {
|
|
|
56
64
|
.orderBy((0, drizzle_orm_1.desc)(schema.creditLedger.expires_at)) // Most recent expiry first
|
|
57
65
|
.limit(1);
|
|
58
66
|
if (lastExpiredFreeGrant.length > 0) {
|
|
67
|
+
// TODO: remove this once it's past May 22nd, after all users have been migrated over
|
|
68
|
+
const cappedAmount = Math.min(lastExpiredFreeGrant[0].principal, 2000);
|
|
59
69
|
logger_1.logger.debug({ userId, amount: lastExpiredFreeGrant[0].principal }, 'Found previous expired free grant amount.');
|
|
60
|
-
return
|
|
70
|
+
return cappedAmount;
|
|
61
71
|
}
|
|
62
72
|
else {
|
|
63
73
|
logger_1.logger.debug({ userId, defaultAmount: constants_1.CREDITS_USAGE_LIMITS.FREE }, 'No previous expired free grant found. Using default.');
|
|
@@ -198,4 +208,59 @@ async function revokeGrantByOperationId(operationId, reason) {
|
|
|
198
208
|
return true;
|
|
199
209
|
});
|
|
200
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Checks if a user's quota needs to be reset, and if so:
|
|
213
|
+
* 1. Calculates their new monthly grant amount
|
|
214
|
+
* 2. Issues the grant with the appropriate expiry
|
|
215
|
+
* 3. Updates their next_quota_reset date
|
|
216
|
+
* All of this is done in a single transaction with SERIALIZABLE isolation
|
|
217
|
+
* to prevent concurrent resets from creating duplicate grants.
|
|
218
|
+
*
|
|
219
|
+
* @param userId The ID of the user
|
|
220
|
+
* @returns The effective quota reset date (either existing or new)
|
|
221
|
+
*/
|
|
222
|
+
async function triggerMonthlyResetAndGrant(userId) {
|
|
223
|
+
return await (0, transaction_1.withSerializableTransaction)(async (tx) => {
|
|
224
|
+
const now = new Date();
|
|
225
|
+
// Get user's current reset date and plan
|
|
226
|
+
const user = await tx.query.user.findFirst({
|
|
227
|
+
where: (0, drizzle_orm_1.eq)(schema.user.id, userId),
|
|
228
|
+
columns: {
|
|
229
|
+
next_quota_reset: true,
|
|
230
|
+
stripe_price_id: true,
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
if (!user) {
|
|
234
|
+
throw new Error(`User ${userId} not found`);
|
|
235
|
+
}
|
|
236
|
+
const currentResetDate = user.next_quota_reset;
|
|
237
|
+
// If reset date is in the future, no action needed
|
|
238
|
+
if (currentResetDate && currentResetDate > now) {
|
|
239
|
+
return currentResetDate;
|
|
240
|
+
}
|
|
241
|
+
// Calculate new reset date
|
|
242
|
+
const newResetDate = (0, dates_1.getNextQuotaReset)(currentResetDate);
|
|
243
|
+
// Calculate grant amount based on user's plan
|
|
244
|
+
const currentPlan = (0, plans_1.getPlanFromPriceId)(user.stripe_price_id, process.env.STRIPE_PRO_PRICE_ID, process.env.STRIPE_MOAR_PRO_PRICE_ID);
|
|
245
|
+
const grantAmount = await (0, plans_1.getMonthlyGrantForPlan)(currentPlan, userId);
|
|
246
|
+
// Generate a unique operation ID for this grant
|
|
247
|
+
const operationId = `free-${userId}-${(0, string_1.generateCompactId)()}`;
|
|
248
|
+
// Update the user's next reset date first
|
|
249
|
+
await tx
|
|
250
|
+
.update(schema.user)
|
|
251
|
+
.set({ next_quota_reset: newResetDate })
|
|
252
|
+
.where((0, drizzle_orm_1.eq)(schema.user.id, userId));
|
|
253
|
+
// Then issue the grant
|
|
254
|
+
await grantCreditOperation(userId, grantAmount, 'free', 'Monthly free credits', newResetDate, // Grant expires at next reset
|
|
255
|
+
operationId);
|
|
256
|
+
logger_1.logger.info({
|
|
257
|
+
userId,
|
|
258
|
+
operationId,
|
|
259
|
+
grantAmount,
|
|
260
|
+
newResetDate,
|
|
261
|
+
previousResetDate: currentResetDate,
|
|
262
|
+
}, 'Processed monthly credit grant and reset');
|
|
263
|
+
return newResetDate;
|
|
264
|
+
}, { userId });
|
|
265
|
+
}
|
|
201
266
|
//# sourceMappingURL=grant-credits.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant-credits.js","sourceRoot":"","sources":["../../src/billing/grant-credits.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"grant-credits.js","sourceRoot":"","sources":["../../src/billing/grant-credits.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,6 +114,7 @@ export declare const shortModelNames: {
|
|
|
114
114
|
export declare const providerModelNames: {
|
|
115
115
|
"gemini-2.5-pro-preview-03-25": string;
|
|
116
116
|
"gemini-2.5-pro-exp-03-25": string;
|
|
117
|
+
"claude-3-5-haiku-20241022": string;
|
|
117
118
|
"claude-3-7-sonnet-20250219": string;
|
|
118
119
|
"claude-3-5-sonnet-20241022": string;
|
|
119
120
|
"gpt-4.1-2025-04-14": string;
|
package/dist/common/constants.js
CHANGED
|
@@ -182,6 +182,7 @@ exports.shortModelNames = {
|
|
|
182
182
|
exports.providerModelNames = {
|
|
183
183
|
[exports.models.gemini2_5_pro_preview]: 'gemini',
|
|
184
184
|
[exports.models.gemini2_5_pro_exp]: 'gemini',
|
|
185
|
+
[exports.models.haiku]: 'anthropic',
|
|
185
186
|
[exports.models.sonnet3_7]: 'anthropic',
|
|
186
187
|
[exports.models.sonnet]: 'anthropic',
|
|
187
188
|
[exports.models.gpt4_1]: 'openai',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAsDA,wCAKC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import db from './index';
|
|
2
|
+
type TransactionCallback<T> = Parameters<typeof db.transaction<T>>[0];
|
|
3
|
+
/**
|
|
4
|
+
* Executes a database transaction with SERIALIZABLE isolation level and automatic
|
|
5
|
+
* retries on serialization failures.
|
|
6
|
+
*
|
|
7
|
+
* @param callback The transaction callback
|
|
8
|
+
* @param context Additional context for logging (e.g., userId, operationId)
|
|
9
|
+
* @returns The result of the transaction
|
|
10
|
+
*/
|
|
11
|
+
export declare function withSerializableTransaction<T>(callback: TransactionCallback<T>, context?: Record<string, any>): Promise<T>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.withSerializableTransaction = withSerializableTransaction;
|
|
7
|
+
const logger_1 = require("../util/logger");
|
|
8
|
+
const promise_1 = require("../util/promise");
|
|
9
|
+
const index_1 = __importDefault(require("./index"));
|
|
10
|
+
/**
|
|
11
|
+
* Executes a database transaction with SERIALIZABLE isolation level and automatic
|
|
12
|
+
* retries on serialization failures.
|
|
13
|
+
*
|
|
14
|
+
* @param callback The transaction callback
|
|
15
|
+
* @param context Additional context for logging (e.g., userId, operationId)
|
|
16
|
+
* @returns The result of the transaction
|
|
17
|
+
*/
|
|
18
|
+
async function withSerializableTransaction(callback, context = {}) {
|
|
19
|
+
return (0, promise_1.withRetry)(async () => {
|
|
20
|
+
return await index_1.default.transaction(callback, { isolationLevel: 'serializable' });
|
|
21
|
+
}, {
|
|
22
|
+
maxRetries: 3,
|
|
23
|
+
retryIf: (error) => {
|
|
24
|
+
// Retry on serialization failures (PostgreSQL error code 40001)
|
|
25
|
+
if (error?.code === '40001') {
|
|
26
|
+
logger_1.logger.warn({ ...context, error }, 'Serialization failure in transaction, retrying...');
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
},
|
|
31
|
+
onRetry: (error, attempt) => {
|
|
32
|
+
logger_1.logger.warn({ ...context, attempt, error }, `Transaction retry ${attempt}`);
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/db/transaction.ts"],"names":[],"mappings":";;;;;AAcA,kEAgCC;AA9CD,2CAAuC;AACvC,6CAA2C;AAC3C,oDAAwB;AAIxB;;;;;;;GAOG;AACI,KAAK,UAAU,2BAA2B,CAC/C,QAAgC,EAChC,UAA+B,EAAE;IAEjC,OAAO,IAAA,mBAAS,EACd,KAAK,IAAI,EAAE;QACT,OAAO,MAAM,eAAE,CAAC,WAAW,CACzB,QAAQ,EACR,EAAE,cAAc,EAAE,cAAc,EAAE,CACnC,CAAA;IACH,CAAC,EACD;QACE,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,gEAAgE;YAChE,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,eAAM,CAAC,IAAI,CACT,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EACrB,mDAAmD,CACpD,CAAA;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1B,eAAM,CAAC,IAAI,CACT,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAC9B,qBAAqB,OAAO,EAAE,CAC/B,CAAA;QACH,CAAC;KACF,CACF,CAAA;AACH,CAAC"}
|
|
@@ -7,13 +7,13 @@ export declare const usageDataSchema: z.ZodObject<{
|
|
|
7
7
|
netBalance: z.ZodNumber;
|
|
8
8
|
breakdown: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
totalRemaining: number;
|
|
11
10
|
totalDebt: number;
|
|
11
|
+
totalRemaining: number;
|
|
12
12
|
netBalance: number;
|
|
13
13
|
breakdown?: Record<string, number> | undefined;
|
|
14
14
|
}, {
|
|
15
|
-
totalRemaining: number;
|
|
16
15
|
totalDebt: number;
|
|
16
|
+
totalRemaining: number;
|
|
17
17
|
netBalance: number;
|
|
18
18
|
breakdown?: Record<string, number> | undefined;
|
|
19
19
|
}>;
|
|
@@ -22,8 +22,8 @@ export declare const usageDataSchema: z.ZodObject<{
|
|
|
22
22
|
}, "strip", z.ZodTypeAny, {
|
|
23
23
|
nextMonthlyGrant: number;
|
|
24
24
|
balance: {
|
|
25
|
-
totalRemaining: number;
|
|
26
25
|
totalDebt: number;
|
|
26
|
+
totalRemaining: number;
|
|
27
27
|
netBalance: number;
|
|
28
28
|
breakdown?: Record<string, number> | undefined;
|
|
29
29
|
};
|
|
@@ -32,8 +32,8 @@ export declare const usageDataSchema: z.ZodObject<{
|
|
|
32
32
|
}, {
|
|
33
33
|
nextMonthlyGrant: number;
|
|
34
34
|
balance: {
|
|
35
|
-
totalRemaining: number;
|
|
36
35
|
totalDebt: number;
|
|
36
|
+
totalRemaining: number;
|
|
37
37
|
netBalance: number;
|
|
38
38
|
breakdown?: Record<string, number> | undefined;
|
|
39
39
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export declare const truncateString: (str: string, maxLength: number) => string;
|
|
2
|
-
export declare const truncateStringWithMessage: ({ str, maxLength, message,
|
|
2
|
+
export declare const truncateStringWithMessage: ({ str, maxLength, message, remove, }: {
|
|
3
3
|
str: string;
|
|
4
4
|
maxLength: number;
|
|
5
5
|
message?: string;
|
|
6
|
-
|
|
6
|
+
remove?: "END" | "START" | "MIDDLE";
|
|
7
7
|
}) => string;
|
|
8
8
|
/**
|
|
9
9
|
* Check if a character is a whitespace character according
|
|
@@ -58,3 +58,4 @@ export declare const generateCompactId: (prefix?: string) => string;
|
|
|
58
58
|
* Removes null characters from a string
|
|
59
59
|
*/
|
|
60
60
|
export declare const stripNullChars: (str: string) => string;
|
|
61
|
+
export declare function stripColors(str: string): string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.stripNullChars = exports.generateCompactId = exports.transformJsonInString = exports.hasLazyEdit = exports.safeReplace = exports.ensureUrlProtocol = exports.snakeToTitleCase = exports.capitalize = exports.pluralize = exports.randBoolFromStr = exports.replaceNonStandardPlaceholderComments = exports.isWhitespace = exports.truncateStringWithMessage = exports.truncateString = void 0;
|
|
4
|
+
exports.stripColors = stripColors;
|
|
4
5
|
const lodash_1 = require("lodash");
|
|
5
6
|
const truncateString = (str, maxLength) => {
|
|
6
7
|
if (str.length <= maxLength) {
|
|
@@ -9,16 +10,21 @@ const truncateString = (str, maxLength) => {
|
|
|
9
10
|
return str.slice(0, maxLength) + '...';
|
|
10
11
|
};
|
|
11
12
|
exports.truncateString = truncateString;
|
|
12
|
-
const truncateStringWithMessage = ({ str, maxLength, message = 'TRUNCATED_DUE_TO_LENGTH',
|
|
13
|
+
const truncateStringWithMessage = ({ str, maxLength, message = 'TRUNCATED_DUE_TO_LENGTH', remove = 'END', }) => {
|
|
13
14
|
if (str.length <= maxLength) {
|
|
14
15
|
return str;
|
|
15
16
|
}
|
|
16
|
-
if (
|
|
17
|
+
if (remove === 'END') {
|
|
17
18
|
const suffix = `\n[...${message}]`;
|
|
18
19
|
return str.slice(0, maxLength - suffix.length) + suffix;
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
if (remove === 'START') {
|
|
22
|
+
const prefix = `[${message}...]\n`;
|
|
23
|
+
return prefix + str.slice(0, maxLength - prefix.length);
|
|
24
|
+
}
|
|
25
|
+
const middle = `\n[...${message}...]\n`;
|
|
26
|
+
const length = Math.floor((maxLength - middle.length) / 2);
|
|
27
|
+
return str.slice(0, length) + middle + str.slice(-length);
|
|
22
28
|
};
|
|
23
29
|
exports.truncateStringWithMessage = truncateStringWithMessage;
|
|
24
30
|
/**
|
|
@@ -207,4 +213,8 @@ const stripNullChars = (str) => {
|
|
|
207
213
|
return str.replace(/\u0000/g, '');
|
|
208
214
|
};
|
|
209
215
|
exports.stripNullChars = stripNullChars;
|
|
216
|
+
const ansiRegex = /\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])/g;
|
|
217
|
+
function stripColors(str) {
|
|
218
|
+
return str.replace(ansiRegex, '');
|
|
219
|
+
}
|
|
210
220
|
//# sourceMappingURL=string.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/util/string.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/util/string.ts"],"names":[],"mappings":"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"}
|