codebuff 1.0.104 → 1.0.107

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SERVER_ACTION_SCHEMA = exports.CLIENT_ACTION_SCHEMA = exports.ToolCallSchema = exports.CHANGES = exports.FileChangeSchema = void 0;
3
+ exports.SERVER_ACTION_SCHEMA = exports.ResponseCompleteSchema = exports.InitResponseSchema = exports.UsageReponseSchema = exports.CLIENT_ACTION_SCHEMA = exports.ToolCallSchema = exports.CHANGES = exports.FileChangeSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const file_1 = require("./util/file");
6
6
  const credentials_1 = require("./util/credentials");
@@ -106,24 +106,41 @@ exports.CLIENT_ACTION_SCHEMA = zod_1.z.discriminatedUnion('type', [
106
106
  stagedChanges: zod_1.z.string(),
107
107
  }),
108
108
  ]);
109
+ exports.UsageReponseSchema = zod_1.z.object({
110
+ type: zod_1.z.literal('usage-response'),
111
+ usage: zod_1.z.number(),
112
+ limit: zod_1.z.number(),
113
+ referralLink: zod_1.z.string().optional(),
114
+ subscription_active: zod_1.z.boolean(),
115
+ next_quota_reset: zod_1.z.coerce.date(),
116
+ session_credits_used: zod_1.z.number(),
117
+ });
118
+ exports.InitResponseSchema = zod_1.z
119
+ .object({
120
+ type: zod_1.z.literal('init-response'),
121
+ })
122
+ .merge(exports.UsageReponseSchema.omit({
123
+ type: true,
124
+ }));
125
+ exports.ResponseCompleteSchema = zod_1.z
126
+ .object({
127
+ type: zod_1.z.literal('response-complete'),
128
+ userInputId: zod_1.z.string(),
129
+ response: zod_1.z.string(),
130
+ changes: exports.CHANGES,
131
+ addedFileVersions: zod_1.z.array(file_1.FileVersionSchema),
132
+ resetFileVersions: zod_1.z.boolean(),
133
+ })
134
+ .merge(exports.UsageReponseSchema.omit({
135
+ type: true,
136
+ }).partial());
109
137
  exports.SERVER_ACTION_SCHEMA = zod_1.z.discriminatedUnion('type', [
110
138
  zod_1.z.object({
111
139
  type: zod_1.z.literal('response-chunk'),
112
140
  userInputId: zod_1.z.string(),
113
141
  chunk: zod_1.z.string(),
114
142
  }),
115
- zod_1.z.object({
116
- type: zod_1.z.literal('response-complete'),
117
- userInputId: zod_1.z.string(),
118
- response: zod_1.z.string(),
119
- changes: exports.CHANGES,
120
- addedFileVersions: zod_1.z.array(file_1.FileVersionSchema),
121
- resetFileVersions: zod_1.z.boolean(),
122
- usage: zod_1.z.number().optional(),
123
- limit: zod_1.z.number().optional(),
124
- subscription_active: zod_1.z.boolean().optional(),
125
- referralLink: zod_1.z.string().optional(),
126
- }),
143
+ exports.ResponseCompleteSchema,
127
144
  zod_1.z.object({
128
145
  type: zod_1.z.literal('read-files'),
129
146
  filePaths: zod_1.z.array(zod_1.z.string()),
@@ -147,9 +164,7 @@ exports.SERVER_ACTION_SCHEMA = zod_1.z.discriminatedUnion('type', [
147
164
  isUpToDate: zod_1.z.boolean(),
148
165
  latestVersion: zod_1.z.string(),
149
166
  }),
150
- zod_1.z.object({
151
- type: zod_1.z.literal('init-response'),
152
- }),
167
+ exports.InitResponseSchema,
153
168
  zod_1.z.object({
154
169
  type: zod_1.z.literal('auth-result'),
155
170
  user: credentials_1.userSchema.optional(),
@@ -161,13 +176,7 @@ exports.SERVER_ACTION_SCHEMA = zod_1.z.discriminatedUnion('type', [
161
176
  fingerprintHash: zod_1.z.string(),
162
177
  loginUrl: zod_1.z.string().url(),
163
178
  }),
164
- zod_1.z.object({
165
- type: zod_1.z.literal('usage-response'),
166
- usage: zod_1.z.number(),
167
- limit: zod_1.z.number(),
168
- referralLink: zod_1.z.string().optional(),
169
- subscription_active: zod_1.z.boolean(),
170
- }),
179
+ exports.UsageReponseSchema,
171
180
  zod_1.z.object({
172
181
  type: zod_1.z.literal('action-error'),
173
182
  message: zod_1.z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,25 @@
1
+ type CheckQuotaResult = Promise<{
2
+ creditsUsed: number;
3
+ quota: number;
4
+ endDate: Date;
5
+ subscription_active: boolean;
6
+ session_credits_used?: number;
7
+ }>;
1
8
  export interface IQuotaManager {
2
- checkQuota(id: string): Promise<{
3
- creditsUsed: number;
4
- quota: number;
5
- endDate: Date;
6
- subscription_active: boolean;
7
- }>;
9
+ checkQuota(id: string): CheckQuotaResult;
8
10
  setNextQuota(id: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
9
11
  }
10
12
  export declare class AnonymousQuotaManager implements IQuotaManager {
11
- checkQuota(fingerprintId: string): Promise<{
12
- creditsUsed: number;
13
- quota: number;
14
- endDate: Date;
15
- subscription_active: boolean;
16
- }>;
13
+ checkQuota(fingerprintId: string, sessionId?: string): CheckQuotaResult;
17
14
  setNextQuota(fingerprintId: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
18
15
  }
19
16
  export declare class AuthenticatedQuotaManager implements IQuotaManager {
20
- checkQuota(userId: string): Promise<{
21
- creditsUsed: number;
22
- quota: number;
23
- endDate: Date;
24
- subscription_active: boolean;
25
- next_quota_reset: Date;
26
- }>;
17
+ checkQuota(userId: string, sessionId?: string): CheckQuotaResult;
27
18
  setNextQuota(userId: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
28
19
  }
29
20
  export type AuthType = 'anonymous' | 'authenticated';
30
21
  export declare const getQuotaManager: (authType: AuthType, id: string) => {
31
- checkQuota: () => Promise<{
32
- creditsUsed: number;
33
- quota: number;
34
- endDate: Date;
35
- subscription_active: boolean;
36
- }>;
22
+ checkQuota: (sessionId?: string) => CheckQuotaResult;
37
23
  setNextQuota: (quota_exceeded: boolean, next_quota_reset: Date) => Promise<void>;
38
24
  };
25
+ export {};
@@ -33,10 +33,11 @@ const schema = __importStar(require("../db/schema"));
33
33
  const drizzle_orm_1 = require("drizzle-orm");
34
34
  const ts_pattern_1 = require("ts-pattern");
35
35
  class AnonymousQuotaManager {
36
- async checkQuota(fingerprintId) {
36
+ async checkQuota(fingerprintId, sessionId) {
37
37
  const quota = constants_1.CREDITS_USAGE_LIMITS.ANON;
38
38
  const startDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.fingerprint.next_quota_reset}, now()) - INTERVAL '1 month'`;
39
39
  const endDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.fingerprint.next_quota_reset}, now())`;
40
+ let session_credits_used = undefined;
40
41
  const result = await db_1.default
41
42
  .select({
42
43
  creditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
@@ -51,15 +52,32 @@ class AnonymousQuotaManager {
51
52
  return rows[0];
52
53
  return {
53
54
  creditsUsed: '0',
54
- quota,
55
55
  endDate: new Date().toDateString(),
56
56
  };
57
57
  });
58
+ if (sessionId) {
59
+ session_credits_used = await db_1.default
60
+ .select({
61
+ client_id: schema.message.client_id,
62
+ fingerprint_id: schema.message.fingerprint_id,
63
+ sessionCreditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
64
+ })
65
+ .from(schema.message)
66
+ .where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.client_id, sessionId), (0, drizzle_orm_1.eq)(schema.message.fingerprint_id, fingerprintId)))
67
+ .groupBy(schema.message.client_id, schema.message.fingerprint_id)
68
+ .then((rows) => {
69
+ if (rows.length > 0) {
70
+ return parseInt(rows[0].sessionCreditsUsed);
71
+ }
72
+ return 0;
73
+ });
74
+ }
58
75
  return {
59
76
  creditsUsed: parseInt(result.creditsUsed),
60
77
  quota,
61
78
  endDate: new Date(result.endDate),
62
79
  subscription_active: false,
80
+ session_credits_used,
63
81
  };
64
82
  }
65
83
  async setNextQuota(fingerprintId, quota_exceeded, next_quota_reset) {
@@ -74,9 +92,10 @@ class AnonymousQuotaManager {
74
92
  }
75
93
  exports.AnonymousQuotaManager = AnonymousQuotaManager;
76
94
  class AuthenticatedQuotaManager {
77
- async checkQuota(userId) {
95
+ async checkQuota(userId, sessionId) {
78
96
  const startDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.user.next_quota_reset}, now()) - INTERVAL '1 month'`;
79
97
  const endDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.user.next_quota_reset}, now())`;
98
+ let session_credits_used = undefined;
80
99
  const result = await db_1.default
81
100
  .select({
82
101
  quota: schema.user.quota,
@@ -89,7 +108,7 @@ class AuthenticatedQuotaManager {
89
108
  .from(schema.user)
90
109
  .leftJoin(schema.message, (0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.user_id, schema.user.id), (0, drizzle_orm_1.between)(schema.message.finished_at, startDate, endDate)))
91
110
  .where((0, drizzle_orm_1.eq)(schema.user.id, userId))
92
- .groupBy(schema.user.quota, schema.user.stripe_customer_id, schema.user.stripe_price_id, schema.user.next_quota_reset, schema.user.subscription_active)
111
+ .groupBy(schema.user.quota, schema.user.stripe_customer_id, schema.user.stripe_price_id, schema.user.subscription_active, schema.user.next_quota_reset)
93
112
  .then((rows) => {
94
113
  if (rows.length > 0)
95
114
  return rows[0];
@@ -102,6 +121,23 @@ class AuthenticatedQuotaManager {
102
121
  subscription_active: false,
103
122
  };
104
123
  });
124
+ if (sessionId) {
125
+ session_credits_used = await db_1.default
126
+ .select({
127
+ client_id: schema.message.client_id,
128
+ user_id: schema.message.user_id,
129
+ sessionCreditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
130
+ })
131
+ .from(schema.message)
132
+ .where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.client_id, sessionId), (0, drizzle_orm_1.eq)(schema.message.user_id, userId)))
133
+ .groupBy(schema.message.client_id, schema.message.user_id)
134
+ .then((rows) => {
135
+ if (rows.length > 0) {
136
+ return parseInt(rows[0].sessionCreditsUsed);
137
+ }
138
+ return 0;
139
+ });
140
+ }
105
141
  const quota = !result?.stripe_customer_id && !result?.stripe_price_id
106
142
  ? constants_1.CREDITS_USAGE_LIMITS.FREE
107
143
  : result?.quota ?? constants_1.CREDITS_USAGE_LIMITS.FREE;
@@ -110,7 +146,7 @@ class AuthenticatedQuotaManager {
110
146
  quota,
111
147
  endDate: new Date(result.endDate),
112
148
  subscription_active: !!result.subscription_active,
113
- next_quota_reset: new Date(result.endDate),
149
+ session_credits_used,
114
150
  };
115
151
  }
116
152
  async setNextQuota(userId, quota_exceeded, next_quota_reset) {
@@ -130,7 +166,7 @@ const getQuotaManager = (authType, id) => {
130
166
  .with('authenticated', () => new AuthenticatedQuotaManager())
131
167
  .exhaustive();
132
168
  return {
133
- checkQuota: () => manager.checkQuota(id),
169
+ checkQuota: (sessionId) => manager.checkQuota(id, sessionId),
134
170
  setNextQuota: (quota_exceeded, next_quota_reset) => manager.setNextQuota(id, quota_exceeded, next_quota_reset),
135
171
  };
136
172
  };
@@ -1 +1 @@
1
- {"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../../src/billing/quota-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../../src/billing/quota-manager.ts"],"names":[],"mappings":"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"}
@@ -3,19 +3,19 @@ export declare const usageDataSchema: z.ZodObject<{
3
3
  creditsUsed: z.ZodNumber;
4
4
  totalQuota: z.ZodNumber;
5
5
  remainingCredits: z.ZodNumber;
6
- billingCycleEnd: z.ZodDate;
7
6
  subscriptionActive: z.ZodBoolean;
7
+ nextQuotaReset: z.ZodDate;
8
8
  }, "strip", z.ZodTypeAny, {
9
9
  creditsUsed: number;
10
10
  totalQuota: number;
11
11
  remainingCredits: number;
12
- billingCycleEnd: Date;
13
12
  subscriptionActive: boolean;
13
+ nextQuotaReset: Date;
14
14
  }, {
15
15
  creditsUsed: number;
16
16
  totalQuota: number;
17
17
  remainingCredits: number;
18
- billingCycleEnd: Date;
19
18
  subscriptionActive: boolean;
19
+ nextQuotaReset: Date;
20
20
  }>;
21
21
  export type UsageData = z.infer<typeof usageDataSchema>;
@@ -6,7 +6,7 @@ exports.usageDataSchema = zod_1.z.object({
6
6
  creditsUsed: zod_1.z.number(),
7
7
  totalQuota: zod_1.z.number(),
8
8
  remainingCredits: zod_1.z.number(),
9
- billingCycleEnd: zod_1.z.coerce.date(),
10
9
  subscriptionActive: zod_1.z.boolean(),
10
+ nextQuotaReset: zod_1.z.coerce.date(),
11
11
  });
12
12
  //# sourceMappingURL=usage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/types/usage.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,eAAe,EAAE,OAAC,CAAC,MAAM,CAAC,IAAI,EAAE;IAChC,kBAAkB,EAAE,OAAC,CAAC,OAAO,EAAE;CAChC,CAAC,CAAA"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/types/usage.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,kBAAkB,EAAE,OAAC,CAAC,OAAO,EAAE;IAC/B,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC,IAAI,EAAE;CAChC,CAAC,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export declare const truncateString: (str: string, maxLength: number) => string;
2
2
  export declare const replaceNonStandardPlaceholderComments: (content: string, replacement: string) => string;
3
3
  export declare const randBoolFromStr: (str: string) => boolean;
4
+ export declare const pluralize: (count: number, word: string) => string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.randBoolFromStr = exports.replaceNonStandardPlaceholderComments = exports.truncateString = void 0;
3
+ exports.pluralize = exports.randBoolFromStr = exports.replaceNonStandardPlaceholderComments = exports.truncateString = void 0;
4
4
  const lodash_1 = require("lodash");
5
5
  const truncateString = (str, maxLength) => {
6
6
  if (str.length <= maxLength) {
@@ -57,4 +57,25 @@ const randBoolFromStr = (str) => {
57
57
  return (0, lodash_1.sumBy)(str.split(''), (char) => char.charCodeAt(0)) % 2 === 0;
58
58
  };
59
59
  exports.randBoolFromStr = randBoolFromStr;
60
+ const pluralize = (count, word) => {
61
+ if (count === 1)
62
+ return word;
63
+ // Handle words ending in 'y' (unless preceded by a vowel)
64
+ if (word.endsWith('y') && !word.match(/[aeiou]y$/)) {
65
+ return word.slice(0, -1) + 'ies';
66
+ }
67
+ // Handle words ending in s, sh, ch, x, z, o
68
+ if (word.match(/[sxz]$/) || word.match(/[cs]h$/) || word.match(/o$/)) {
69
+ return word + 'es';
70
+ }
71
+ // Handle words ending in f/fe
72
+ if (word.endsWith('f')) {
73
+ return word.slice(0, -1) + 'ves';
74
+ }
75
+ if (word.endsWith('fe')) {
76
+ return word.slice(0, -2) + 'ves';
77
+ }
78
+ return `${count} ${word + 's'}`;
79
+ };
80
+ exports.pluralize = pluralize;
60
81
  //# sourceMappingURL=string.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/util/string.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAEvB,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,SAAiB,EAAE,EAAE;IAC/D,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAA;AACxC,CAAC,CAAA;AALY,QAAA,cAAc,kBAK1B;AAEM,MAAM,qCAAqC,GAAG,CACnD,OAAe,EACf,WAAmB,EACX,EAAE;IACV,MAAM,eAAe,GAAG;QACtB,kCAAkC;QAClC;YACE,KAAK,EACH,0FAA0F;YAC5F,WAAW,EAAE,WAAW;SACzB;QACD,gEAAgE;QAChE;YACE,KAAK,EACH,2EAA2E;YAC7E,WAAW,EAAE,WAAW;SACzB;QACD;YACE,KAAK,EACH,kFAAkF;YACpF,WAAW,EAAE,WAAW;SACzB;QACD,2BAA2B;QAC3B;YACE,KAAK,EACH,wEAAwE;YAC1E,WAAW,EAAE,WAAW;SACzB;QACD,sBAAsB;QACtB;YACE,KAAK,EACH,iFAAiF;YACnF,WAAW,EAAE,WAAW;SACzB;QACD,6BAA6B;QAC7B;YACE,KAAK,EACH,yEAAyE;YAC3E,WAAW,EAAE,WAAW;SACzB;QACD,kBAAkB;QAClB;YACE,KAAK,EACH,wEAAwE;YAC1E,WAAW,EAAE,WAAW;SACzB;KACF,CAAA;IAED,IAAI,cAAc,GAAG,OAAO,CAAA;IAE5B,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC;QACrD,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAvDY,QAAA,qCAAqC,yCAuDjD;AAEM,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE;IAC7C,OAAO,IAAA,cAAK,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACrE,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/util/string.ts"],"names":[],"mappings":"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"}