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.
Files changed (89) hide show
  1. package/dist/background-process-manager.js +3 -5
  2. package/dist/background-process-manager.js.map +1 -1
  3. package/dist/cli.d.ts +1 -1
  4. package/dist/cli.js +1 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/client.d.ts +4 -4
  7. package/dist/client.js +7 -2
  8. package/dist/client.js.map +1 -1
  9. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  10. package/dist/common/actions.d.ts +108 -108
  11. package/dist/common/bigquery/client.js +1 -0
  12. package/dist/common/bigquery/client.js.map +1 -1
  13. package/dist/common/billing/balance-calculator.d.ts +3 -0
  14. package/dist/common/billing/balance-calculator.js +6 -2
  15. package/dist/common/billing/balance-calculator.js.map +1 -1
  16. package/dist/common/billing/grant-credits.d.ts +16 -1
  17. package/dist/common/billing/grant-credits.js +67 -2
  18. package/dist/common/billing/grant-credits.js.map +1 -1
  19. package/dist/common/constants.d.ts +1 -0
  20. package/dist/common/constants.js +1 -0
  21. package/dist/common/constants.js.map +1 -1
  22. package/dist/common/db/transaction.d.ts +12 -0
  23. package/dist/common/db/transaction.js +36 -0
  24. package/dist/common/db/transaction.js.map +1 -0
  25. package/dist/common/types/usage.d.ts +4 -4
  26. package/dist/common/util/string.d.ts +3 -2
  27. package/dist/common/util/string.js +14 -4
  28. package/dist/common/util/string.js.map +1 -1
  29. package/dist/common/websockets/websocket-schema.d.ts +202 -202
  30. package/dist/dev-process-manager.js +1 -1
  31. package/dist/dev-process-manager.js.map +1 -1
  32. package/dist/index.js +6 -3
  33. package/dist/index.js.map +1 -1
  34. package/dist/utils/terminal.js +4 -7
  35. package/dist/utils/terminal.js.map +1 -1
  36. package/package.json +1 -1
  37. package/dist/common/actions.d.ts.map +0 -1
  38. package/dist/common/api-keys/constants.d.ts.map +0 -1
  39. package/dist/common/api-keys/crypto.d.ts.map +0 -1
  40. package/dist/common/billing/quota-manager.d.ts +0 -29
  41. package/dist/common/billing/quota-manager.d.ts.map +0 -1
  42. package/dist/common/billing/quota-manager.js +0 -251
  43. package/dist/common/billing/quota-manager.js.map +0 -1
  44. package/dist/common/browser-actions.d.ts.map +0 -1
  45. package/dist/common/constants/tools.d.ts.map +0 -1
  46. package/dist/common/constants.d.ts.map +0 -1
  47. package/dist/common/db/drizzle.config.d.ts.map +0 -1
  48. package/dist/common/db/env.d.mts.map +0 -1
  49. package/dist/common/db/index.d.ts.map +0 -1
  50. package/dist/common/db/schema.d.ts.map +0 -1
  51. package/dist/common/env.d.mts.map +0 -1
  52. package/dist/common/project-file-tree.d.ts.map +0 -1
  53. package/dist/common/types/agent-state.d.ts.map +0 -1
  54. package/dist/common/types/config.d.ts +0 -43
  55. package/dist/common/types/config.js +0 -13
  56. package/dist/common/types/config.js.map +0 -1
  57. package/dist/common/types/message.d.ts.map +0 -1
  58. package/dist/common/types/plan.d.ts.map +0 -1
  59. package/dist/common/types/referral.d.ts.map +0 -1
  60. package/dist/common/types/tools.d.ts.map +0 -1
  61. package/dist/common/types/usage.d.ts.map +0 -1
  62. package/dist/common/util/__tests__/messages.test.d.ts.map +0 -1
  63. package/dist/common/util/__tests__/string.test.d.ts.map +0 -1
  64. package/dist/common/util/array.d.ts.map +0 -1
  65. package/dist/common/util/changes.d.ts.map +0 -1
  66. package/dist/common/util/credentials.d.ts.map +0 -1
  67. package/dist/common/util/crypto.d.ts +0 -27
  68. package/dist/common/util/crypto.js +0 -174
  69. package/dist/common/util/crypto.js.map +0 -1
  70. package/dist/common/util/dates.d.ts.map +0 -1
  71. package/dist/common/util/file.d.ts.map +0 -1
  72. package/dist/common/util/git.d.ts.map +0 -1
  73. package/dist/common/util/logger.d.ts.map +0 -1
  74. package/dist/common/util/lru-cache.d.ts.map +0 -1
  75. package/dist/common/util/messages.d.ts.map +0 -1
  76. package/dist/common/util/min-heap.d.ts.map +0 -1
  77. package/dist/common/util/object.d.ts.map +0 -1
  78. package/dist/common/util/patch.d.ts.map +0 -1
  79. package/dist/common/util/promise.d.ts.map +0 -1
  80. package/dist/common/util/referral.d.ts.map +0 -1
  81. package/dist/common/util/saxy.d.ts.map +0 -1
  82. package/dist/common/util/server/referral.d.ts.map +0 -1
  83. package/dist/common/util/string.d.ts.map +0 -1
  84. package/dist/common/util/stripe.d.ts.map +0 -1
  85. package/dist/common/util/tools.d.ts +0 -2
  86. package/dist/common/util/tools.js +0 -13
  87. package/dist/common/util/tools.js.map +0 -1
  88. package/dist/common/websockets/websocket-client.d.ts.map +0 -1
  89. 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":"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"}
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 db_1.default.transaction(async (tx) => {
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":"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"}
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 lastExpiredFreeGrant[0].principal;
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":"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"}
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;
@@ -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":"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"}
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, truncate, }: {
2
+ export declare const truncateStringWithMessage: ({ str, maxLength, message, remove, }: {
3
3
  str: string;
4
4
  maxLength: number;
5
5
  message?: string;
6
- truncate?: "END" | "START";
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', truncate = 'END', }) => {
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 (truncate === 'END') {
17
+ if (remove === 'END') {
17
18
  const suffix = `\n[...${message}]`;
18
19
  return str.slice(0, maxLength - suffix.length) + suffix;
19
20
  }
20
- const prefix = `[${message}...]\n`;
21
- return prefix + str.slice(0, maxLength - prefix.length);
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":"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"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/util/string.ts"],"names":[],"mappings":"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"}