codebuff 1.0.232 → 1.0.234

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 (130) hide show
  1. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  2. package/dist/common/json-config/__tests__/__snapshots__/stringify-schema.test.js.snap +66 -0
  3. package/dist/common/types/usage.d.ts +4 -4
  4. package/package.json +1 -1
  5. package/dist/background-process-manager.d.ts +0 -50
  6. package/dist/background-process-manager.js +0 -320
  7. package/dist/background-process-manager.js.map +0 -1
  8. package/dist/browser-runner.d.ts +0 -35
  9. package/dist/browser-runner.js +0 -680
  10. package/dist/browser-runner.js.map +0 -1
  11. package/dist/chat-storage.d.ts +0 -2
  12. package/dist/chat-storage.js +0 -93
  13. package/dist/chat-storage.js.map +0 -1
  14. package/dist/checkpoints/checkpoint-manager.d.ts +0 -94
  15. package/dist/checkpoints/checkpoint-manager.js +0 -280
  16. package/dist/checkpoints/checkpoint-manager.js.map +0 -1
  17. package/dist/checkpoints/file-manager.d.ts +0 -72
  18. package/dist/checkpoints/file-manager.js +0 -311
  19. package/dist/checkpoints/file-manager.js.map +0 -1
  20. package/dist/cli-handlers/api-key.d.ts +0 -25
  21. package/dist/cli-handlers/api-key.js +0 -66
  22. package/dist/cli-handlers/api-key.js.map +0 -1
  23. package/dist/cli-handlers/checkpoint.d.ts +0 -18
  24. package/dist/cli-handlers/checkpoint.js +0 -195
  25. package/dist/cli-handlers/checkpoint.js.map +0 -1
  26. package/dist/cli-handlers/diff.d.ts +0 -2
  27. package/dist/cli-handlers/diff.js +0 -31
  28. package/dist/cli-handlers/diff.js.map +0 -1
  29. package/dist/cli-handlers/easter-egg.d.ts +0 -1
  30. package/dist/cli-handlers/easter-egg.js +0 -126
  31. package/dist/cli-handlers/easter-egg.js.map +0 -1
  32. package/dist/cli-handlers/inititalization-flow.d.ts +0 -1
  33. package/dist/cli-handlers/inititalization-flow.js +0 -24
  34. package/dist/cli-handlers/inititalization-flow.js.map +0 -1
  35. package/dist/cli.d.ts +0 -42
  36. package/dist/cli.js +0 -455
  37. package/dist/cli.js.map +0 -1
  38. package/dist/client.d.ts +0 -139
  39. package/dist/client.js +0 -784
  40. package/dist/client.js.map +0 -1
  41. package/dist/common/billing/quota-manager.d.ts +0 -29
  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/logger.d.ts +0 -1
  45. package/dist/common/logger.js +0 -7
  46. package/dist/common/logger.js.map +0 -1
  47. package/dist/common/util/constants.d.ts +0 -1
  48. package/dist/common/util/constants.js +0 -7
  49. package/dist/common/util/constants.js.map +0 -1
  50. package/dist/common/util/helpers.d.ts +0 -1
  51. package/dist/common/util/helpers.js +0 -6
  52. package/dist/common/util/helpers.js.map +0 -1
  53. package/dist/common/util/token-counter.d.ts +0 -3
  54. package/dist/common/util/token-counter.js +0 -27
  55. package/dist/common/util/token-counter.js.map +0 -1
  56. package/dist/common/util/tools.d.ts +0 -2
  57. package/dist/common/util/tools.js +0 -13
  58. package/dist/common/util/tools.js.map +0 -1
  59. package/dist/config.d.ts +0 -4
  60. package/dist/config.js +0 -12
  61. package/dist/config.js.map +0 -1
  62. package/dist/create-template-project.d.ts +0 -1
  63. package/dist/create-template-project.js +0 -107
  64. package/dist/create-template-project.js.map +0 -1
  65. package/dist/credentials.d.ts +0 -4
  66. package/dist/credentials.js +0 -38
  67. package/dist/credentials.js.map +0 -1
  68. package/dist/dev-process-manager.d.ts +0 -10
  69. package/dist/dev-process-manager.js +0 -54
  70. package/dist/dev-process-manager.js.map +0 -1
  71. package/dist/fingerprint.d.ts +0 -1
  72. package/dist/fingerprint.js +0 -48
  73. package/dist/fingerprint.js.map +0 -1
  74. package/dist/index.d.ts +0 -2
  75. package/dist/index.js +0 -106
  76. package/dist/index.js.map +0 -1
  77. package/dist/menu.d.ts +0 -3
  78. package/dist/menu.js +0 -124
  79. package/dist/menu.js.map +0 -1
  80. package/dist/project-files.d.ts +0 -114
  81. package/dist/project-files.js +0 -513
  82. package/dist/project-files.js.map +0 -1
  83. package/dist/startup-process-handler.d.ts +0 -2
  84. package/dist/startup-process-handler.js +0 -21
  85. package/dist/startup-process-handler.js.map +0 -1
  86. package/dist/tool-handlers.d.ts +0 -28
  87. package/dist/tool-handlers.js +0 -240
  88. package/dist/tool-handlers.js.map +0 -1
  89. package/dist/types.d.ts +0 -8
  90. package/dist/types.js +0 -3
  91. package/dist/types.js.map +0 -1
  92. package/dist/update-codebuff.d.ts +0 -1
  93. package/dist/update-codebuff.js +0 -158
  94. package/dist/update-codebuff.js.map +0 -1
  95. package/dist/utils/__tests__/background-process-manager.test.d.ts +0 -1
  96. package/dist/utils/__tests__/background-process-manager.test.js +0 -289
  97. package/dist/utils/__tests__/background-process-manager.test.js.map +0 -1
  98. package/dist/utils/__tests__/tool-renderers.test.d.ts +0 -1
  99. package/dist/utils/__tests__/tool-renderers.test.js +0 -51
  100. package/dist/utils/__tests__/tool-renderers.test.js.map +0 -1
  101. package/dist/utils/__tests__/xml-stream-parser.test.d.ts +0 -1
  102. package/dist/utils/__tests__/xml-stream-parser.test.js +0 -229
  103. package/dist/utils/__tests__/xml-stream-parser.test.js.map +0 -1
  104. package/dist/utils/detect-shell.d.ts +0 -1
  105. package/dist/utils/detect-shell.js +0 -60
  106. package/dist/utils/detect-shell.js.map +0 -1
  107. package/dist/utils/spinner.d.ts +0 -11
  108. package/dist/utils/spinner.js +0 -87
  109. package/dist/utils/spinner.js.map +0 -1
  110. package/dist/utils/system-info.d.ts +0 -8
  111. package/dist/utils/system-info.js +0 -22
  112. package/dist/utils/system-info.js.map +0 -1
  113. package/dist/utils/terminal.d.ts +0 -38
  114. package/dist/utils/terminal.js +0 -459
  115. package/dist/utils/terminal.js.map +0 -1
  116. package/dist/utils/tool-renderers.d.ts +0 -16
  117. package/dist/utils/tool-renderers.js +0 -145
  118. package/dist/utils/tool-renderers.js.map +0 -1
  119. package/dist/utils/xml-stream-parser.d.ts +0 -9
  120. package/dist/utils/xml-stream-parser.js +0 -128
  121. package/dist/utils/xml-stream-parser.js.map +0 -1
  122. package/dist/web-scraper.d.ts +0 -3
  123. package/dist/web-scraper.js +0 -57
  124. package/dist/web-scraper.js.map +0 -1
  125. package/dist/workers/checkpoint-worker.d.ts +0 -1
  126. package/dist/workers/checkpoint-worker.js +0 -48
  127. package/dist/workers/checkpoint-worker.js.map +0 -1
  128. package/dist/workers/project-context.d.ts +0 -1
  129. package/dist/workers/project-context.js +0 -17
  130. package/dist/workers/project-context.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- type CheckQuotaResult = Promise<{
2
- creditsUsed: number;
3
- quota: number;
4
- endDate: Date;
5
- subscription_active: boolean;
6
- session_credits_used?: number;
7
- }>;
8
- export interface IQuotaManager {
9
- checkQuota(id: string, sessionId?: string): CheckQuotaResult;
10
- setNextQuota(id: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
11
- }
12
- export declare class AnonymousQuotaManager implements IQuotaManager {
13
- checkQuota(fingerprintId: string, sessionId?: string): CheckQuotaResult;
14
- setNextQuota(fingerprintId: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
15
- }
16
- export declare class AuthenticatedQuotaManager implements IQuotaManager {
17
- getStripeSubscriptionQuota(userId: string): Promise<{
18
- quota: number;
19
- overageRate: number | null;
20
- }>;
21
- checkQuota(userId: string, sessionId?: string): CheckQuotaResult;
22
- setNextQuota(userId: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
23
- }
24
- export type AuthType = 'anonymous' | 'authenticated';
25
- export declare const getQuotaManager: (authType: AuthType, id: string) => {
26
- checkQuota: (sessionId?: string) => CheckQuotaResult;
27
- setNextQuota: (quota_exceeded: boolean, next_quota_reset: Date) => Promise<void>;
28
- };
29
- export {};
@@ -1,251 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getQuotaManager = exports.AuthenticatedQuotaManager = exports.AnonymousQuotaManager = void 0;
30
- const stripe_1 = require("../util/stripe");
31
- const constants_1 = require("../constants");
32
- const db_1 = __importDefault(require("../db"));
33
- const schema = __importStar(require("../db/schema"));
34
- const drizzle_orm_1 = require("drizzle-orm");
35
- const ts_pattern_1 = require("ts-pattern");
36
- class AnonymousQuotaManager {
37
- async checkQuota(fingerprintId, sessionId) {
38
- const quota = constants_1.CREDITS_USAGE_LIMITS.ANON;
39
- const startDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.fingerprint.next_quota_reset}, now()) - INTERVAL '1 month'`;
40
- const endDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.fingerprint.next_quota_reset}, now())`;
41
- let session_credits_used = undefined;
42
- const result = await db_1.default
43
- .select({
44
- creditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
45
- endDate,
46
- })
47
- .from(schema.fingerprint)
48
- .leftJoin(schema.message, (0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.fingerprint_id, fingerprintId), (0, drizzle_orm_1.between)(schema.message.finished_at, startDate, endDate)))
49
- .where((0, drizzle_orm_1.eq)(schema.fingerprint.id, fingerprintId))
50
- .groupBy(schema.fingerprint.next_quota_reset)
51
- .then((rows) => {
52
- if (rows.length > 0)
53
- return rows[0];
54
- return {
55
- creditsUsed: '0',
56
- endDate: new Date().toDateString(),
57
- };
58
- });
59
- if (sessionId) {
60
- session_credits_used = await db_1.default
61
- .select({
62
- client_id: schema.message.client_id,
63
- fingerprint_id: schema.message.fingerprint_id,
64
- sessionCreditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
65
- })
66
- .from(schema.message)
67
- .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)))
68
- .groupBy(schema.message.client_id, schema.message.fingerprint_id)
69
- .then((rows) => {
70
- if (rows.length > 0) {
71
- return parseInt(rows[0].sessionCreditsUsed);
72
- }
73
- return 0;
74
- });
75
- }
76
- return {
77
- creditsUsed: parseInt(result.creditsUsed),
78
- quota,
79
- endDate: new Date(result.endDate),
80
- subscription_active: false,
81
- session_credits_used,
82
- };
83
- }
84
- async setNextQuota(fingerprintId, quota_exceeded, next_quota_reset) {
85
- await db_1.default
86
- .update(schema.fingerprint)
87
- .set({
88
- quota_exceeded,
89
- next_quota_reset,
90
- })
91
- .where((0, drizzle_orm_1.eq)(schema.fingerprint.id, fingerprintId));
92
- }
93
- }
94
- exports.AnonymousQuotaManager = AnonymousQuotaManager;
95
- class AuthenticatedQuotaManager {
96
- async getStripeSubscriptionQuota(userId) {
97
- // Get user's subscription from Stripe
98
- const user = await db_1.default.query.user.findFirst({
99
- where: (0, drizzle_orm_1.eq)(schema.user.id, userId),
100
- columns: {
101
- stripe_customer_id: true,
102
- stripe_price_id: true,
103
- },
104
- });
105
- let overageRate = null;
106
- let quota = constants_1.CREDITS_USAGE_LIMITS.PRO;
107
- if (user?.stripe_customer_id && user?.stripe_price_id) {
108
- const subscriptions = await stripe_1.stripeServer.subscriptions.list({
109
- customer: user.stripe_customer_id,
110
- status: 'active',
111
- limit: 1,
112
- });
113
- if (subscriptions.data[0]?.id) {
114
- const subscription = await stripe_1.stripeServer.subscriptions.retrieve(subscriptions.data[0].id, {
115
- expand: ['items.data.price.tiers'],
116
- });
117
- // Get the metered price item which contains our overage rate
118
- const meteredPrice = subscription.items.data.find((item) => item.price.recurring?.usage_type === 'metered');
119
- if (meteredPrice?.price.tiers) {
120
- for (const tier of meteredPrice.price.tiers) {
121
- if (tier.up_to) {
122
- quota = Math.max(quota, tier.up_to);
123
- }
124
- if (tier.up_to === null && tier.unit_amount_decimal) {
125
- overageRate = parseFloat(tier.unit_amount_decimal);
126
- break;
127
- }
128
- }
129
- }
130
- }
131
- }
132
- return { quota, overageRate };
133
- }
134
- async checkQuota(userId, sessionId) {
135
- const userResult = await db_1.default.query.user.findFirst({
136
- where: (0, drizzle_orm_1.eq)(schema.user.id, userId),
137
- columns: {
138
- id: true,
139
- quota: true,
140
- stripe_customer_id: true,
141
- stripe_price_id: true,
142
- subscription_active: true,
143
- next_quota_reset: true,
144
- },
145
- });
146
- if (!userResult) {
147
- return {
148
- creditsUsed: 0,
149
- quota: constants_1.CREDITS_USAGE_LIMITS.FREE,
150
- endDate: new Date(),
151
- subscription_active: false,
152
- session_credits_used: 0,
153
- };
154
- }
155
- let startDate;
156
- let endDate;
157
- let subscription_active = userResult.subscription_active;
158
- if (subscription_active && userResult.stripe_customer_id) {
159
- try {
160
- const subscription = await (0, stripe_1.getCurrentSubscription)(userResult.stripe_customer_id);
161
- if (subscription && subscription.status === 'active') {
162
- startDate = new Date(subscription.current_period_start * 1000);
163
- endDate = new Date(subscription.current_period_end * 1000);
164
- subscription_active = true;
165
- }
166
- else {
167
- console.warn(`Subscription discrepancy for user ${userId}. DB says active, Stripe says ${subscription?.status}. Falling back to next_quota_reset.`);
168
- subscription_active = false;
169
- const fallbackEndDate = userResult.next_quota_reset ?? new Date();
170
- endDate = new Date(fallbackEndDate);
171
- startDate = new Date(endDate);
172
- startDate.setMonth(startDate.getMonth() - 1);
173
- }
174
- }
175
- catch (error) {
176
- console.error(`Error fetching Stripe subscription for user ${userId}:`, error);
177
- subscription_active = false;
178
- const fallbackEndDate = userResult.next_quota_reset ?? new Date();
179
- endDate = new Date(fallbackEndDate);
180
- startDate = new Date(endDate);
181
- startDate.setMonth(startDate.getMonth() - 1);
182
- }
183
- }
184
- else {
185
- const fallbackEndDate = userResult.next_quota_reset ?? new Date();
186
- endDate = new Date(fallbackEndDate);
187
- startDate = new Date(endDate);
188
- startDate.setMonth(startDate.getMonth() - 1);
189
- if (subscription_active) {
190
- subscription_active = false;
191
- }
192
- }
193
- let session_credits_used = undefined;
194
- const creditsUsed = await db_1.default
195
- .select({
196
- creditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
197
- })
198
- .from(schema.message)
199
- .where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.user_id, userId), (0, drizzle_orm_1.between)(schema.message.finished_at, startDate, endDate)))
200
- .then((rows) => parseInt(rows[0].creditsUsed ?? '0'));
201
- if (sessionId) {
202
- session_credits_used = await db_1.default
203
- .select({
204
- client_id: schema.message.client_id,
205
- user_id: schema.message.user_id,
206
- sessionCreditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
207
- })
208
- .from(schema.message)
209
- .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)))
210
- .groupBy(schema.message.client_id, schema.message.user_id)
211
- .then((rows) => {
212
- if (rows.length > 0) {
213
- return parseInt(rows[0].sessionCreditsUsed);
214
- }
215
- return 0;
216
- });
217
- }
218
- const quota = !userResult.stripe_customer_id && !userResult.stripe_price_id
219
- ? constants_1.CREDITS_USAGE_LIMITS.FREE
220
- : userResult.quota ?? constants_1.CREDITS_USAGE_LIMITS.FREE;
221
- return {
222
- creditsUsed,
223
- quota,
224
- endDate,
225
- subscription_active,
226
- session_credits_used,
227
- };
228
- }
229
- async setNextQuota(userId, quota_exceeded, next_quota_reset) {
230
- await db_1.default
231
- .update(schema.user)
232
- .set({
233
- quota_exceeded,
234
- next_quota_reset,
235
- })
236
- .where((0, drizzle_orm_1.eq)(schema.user.id, userId));
237
- }
238
- }
239
- exports.AuthenticatedQuotaManager = AuthenticatedQuotaManager;
240
- const getQuotaManager = (authType, id) => {
241
- const manager = (0, ts_pattern_1.match)(authType)
242
- .with('anonymous', () => new AnonymousQuotaManager())
243
- .with('authenticated', () => new AuthenticatedQuotaManager())
244
- .exhaustive();
245
- return {
246
- checkQuota: (sessionId) => manager.checkQuota(id, sessionId),
247
- setNextQuota: (quota_exceeded, next_quota_reset) => manager.setNextQuota(id, quota_exceeded, next_quota_reset),
248
- };
249
- };
250
- exports.getQuotaManager = getQuotaManager;
251
- //# sourceMappingURL=quota-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../../src/billing/quota-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function withLoggerContext(context: any, logger: any, callback: () => Promise<any>): Promise<any>;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withLoggerContext = withLoggerContext;
4
- function withLoggerContext(context, logger, callback) {
5
- return callback();
6
- }
7
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;AAAA,8CAEC;AAFD,SAAgB,iBAAiB,CAAC,OAAY,EAAE,MAAW,EAAE,QAA4B;IACvF,OAAO,QAAQ,EAAE,CAAA;AACnB,CAAC"}
@@ -1 +0,0 @@
1
- export declare function getModelForMode(mode: string): string;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getModelForMode = getModelForMode;
4
- function getModelForMode(mode) {
5
- return 'claude-3-sonnet';
6
- }
7
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/util/constants.ts"],"names":[],"mappings":";;AAAA,0CAEC;AAFD,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,iBAAiB,CAAA;AAC1B,CAAC"}
@@ -1 +0,0 @@
1
- export declare const sleep: (ms: number) => Promise<unknown>;
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sleep = void 0;
4
- const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
5
- exports.sleep = sleep;
6
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/util/helpers.ts"],"names":[],"mappings":";;;AAAO,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAA7D,QAAA,KAAK,SAAwD"}
@@ -1,3 +0,0 @@
1
- export declare function countTokens(text: string): number;
2
- export declare function countTokensJson(text: string | object): number;
3
- export declare function countTokensForFiles(files: Record<string, string | null>): Record<string, number>;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.countTokens = countTokens;
4
- exports.countTokensJson = countTokensJson;
5
- exports.countTokensForFiles = countTokensForFiles;
6
- const gpt_4o_1 = require("gpt-tokenizer/esm/model/gpt-4o");
7
- const ANTHROPIC_TOKEN_FUDGE_FACTOR = 1.35;
8
- function countTokens(text) {
9
- try {
10
- return Math.floor((0, gpt_4o_1.encode)(text).length * ANTHROPIC_TOKEN_FUDGE_FACTOR);
11
- }
12
- catch (e) {
13
- console.error('Error counting tokens', e);
14
- return Math.ceil(text.length / 3);
15
- }
16
- }
17
- function countTokensJson(text) {
18
- return countTokens(JSON.stringify(text));
19
- }
20
- function countTokensForFiles(files) {
21
- const tokenCounts = {};
22
- for (const [filePath, content] of Object.entries(files)) {
23
- tokenCounts[filePath] = content ? countTokens(content) : 0;
24
- }
25
- return tokenCounts;
26
- }
27
- //# sourceMappingURL=token-counter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../src/util/token-counter.ts"],"names":[],"mappings":";;AAIA,kCAOC;AAED,0CAEC;AAED,kDAQC;AAzBD,2DAAuD;AAEvD,MAAM,4BAA4B,GAAG,IAAI,CAAA;AAEzC,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,MAAM,GAAG,4BAA4B,CAAC,CAAA;IACvE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,IAAqB;IACnD,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,SAAgB,mBAAmB,CACjC,KAAoC;IAEpC,MAAM,WAAW,GAA2B,EAAE,CAAA;IAC9C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC"}
@@ -1,2 +0,0 @@
1
- import { Message } from 'src/actions';
2
- export declare const didClientUseTool: (message: Message) => boolean;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.didClientUseTool = void 0;
4
- const ts_pattern_1 = require("ts-pattern");
5
- const constants_1 = require("src/constants");
6
- const didClientUseTool = (message) => (0, ts_pattern_1.match)(message)
7
- .with({
8
- role: 'user',
9
- content: ts_pattern_1.P.string.and(ts_pattern_1.P.when((content) => content.includes(constants_1.TOOL_RESULT_MARKER))),
10
- }, () => true)
11
- .otherwise(() => false);
12
- exports.didClientUseTool = didClientUseTool;
13
- //# sourceMappingURL=tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/util/tools.ts"],"names":[],"mappings":";;;AACA,2CAAqC;AACrC,6CAAkD;AAE3C,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE,CACnD,IAAA,kBAAK,EAAC,OAAO,CAAC;KACX,IAAI,CACH;IACE,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,cAAC,CAAC,MAAM,CAAC,GAAG,CACnB,cAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAE,OAAkB,CAAC,QAAQ,CAAC,8BAAkB,CAAC,CAAC,CACtE;CACF,EACD,GAAG,EAAE,CAAC,IAAI,CACX;KACA,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;AAXd,QAAA,gBAAgB,oBAWF"}
package/dist/config.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export declare const isProduction: boolean;
2
- export declare const websocketUrl: string;
3
- export declare const websiteUrl: string | undefined;
4
- export declare const backendUrl: string;
package/dist/config.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.backendUrl = exports.websiteUrl = exports.websocketUrl = exports.isProduction = void 0;
4
- exports.isProduction = process.env.NEXT_PUBLIC_CB_ENVIRONMENT === 'production';
5
- exports.websocketUrl = exports.isProduction
6
- ? `wss://${process.env.NEXT_PUBLIC_BACKEND_URL}/ws`
7
- : `ws://${process.env.NEXT_PUBLIC_BACKEND_URL}/ws`;
8
- exports.websiteUrl = process.env.NEXT_PUBLIC_APP_URL;
9
- exports.backendUrl = exports.isProduction
10
- ? `https://${process.env.NEXT_PUBLIC_BACKEND_URL}`
11
- : `http://${process.env.NEXT_PUBLIC_BACKEND_URL}`;
12
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GACvB,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,YAAY,CAAA;AAE5C,QAAA,YAAY,GAAG,oBAAY;IACtC,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK;IACnD,CAAC,CAAC,QAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAA;AAEvC,QAAA,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAA;AAC5C,QAAA,UAAU,GAAG,oBAAY;IACpC,CAAC,CAAC,WAAW,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE;IAClD,CAAC,CAAC,UAAU,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAA"}
@@ -1 +0,0 @@
1
- export declare function createTemplateProject(template: string, projectDir: string, projectName?: string): Promise<void>;
@@ -1,107 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.createTemplateProject = createTemplateProject;
27
- const child_process_1 = require("child_process");
28
- const path_1 = require("path");
29
- const fs = __importStar(require("fs"));
30
- const os = __importStar(require("os"));
31
- const picocolors_1 = require("picocolors");
32
- async function createTemplateProject(template, projectDir, projectName = template) {
33
- console.log(`Creating project from ${template} template in ${projectDir}/${projectName}`);
34
- // Validate template name contains only alphanumeric chars, dash and underscore
35
- if (!/^[a-zA-Z0-9-_]+$/.test(template)) {
36
- console.error('Template name can only contain letters, numbers, dash and underscore');
37
- process.exit(1);
38
- }
39
- // Validate project name
40
- if (!/^[a-zA-Z0-9-_]+$/.test(projectName)) {
41
- console.error('Project name can only contain letters, numbers, dash and underscore');
42
- process.exit(1);
43
- }
44
- const projectPath = (0, path_1.join)(projectDir, projectName);
45
- // Check if directory already exists
46
- if (fs.existsSync(projectPath)) {
47
- console.error(`Directory ${projectPath} already exists`);
48
- process.exit(1);
49
- }
50
- try {
51
- console.log('\nDownloading template...');
52
- // Clone the community repo to a temp directory
53
- const tempDir = fs.mkdtempSync((0, path_1.join)(os.tmpdir(), 'codebuff-starter-'));
54
- (0, child_process_1.execSync)('git clone --depth 1 https://github.com/CodebuffAI/codebuff-community.git .', {
55
- cwd: tempDir,
56
- stdio: 'pipe',
57
- });
58
- // Check if template exists in starter-templates or showcase directory
59
- const starterTemplateDir = (0, path_1.join)(tempDir, 'starter-templates', template);
60
- const showcaseDir = (0, path_1.join)(tempDir, 'showcase', template);
61
- let templateDir;
62
- if (fs.existsSync(starterTemplateDir)) {
63
- templateDir = starterTemplateDir;
64
- }
65
- else if (fs.existsSync(showcaseDir)) {
66
- templateDir = showcaseDir;
67
- }
68
- else {
69
- console.error(`Template ${template} not found in starter-templates/ or showcase/`);
70
- fs.rmSync(tempDir, { recursive: true, force: true });
71
- process.exit(1);
72
- }
73
- // Create parent directory if it doesn't exist
74
- if (projectDir) {
75
- fs.mkdirSync(projectDir, { recursive: true });
76
- }
77
- // Copy template to new directory
78
- fs.mkdirSync(projectPath);
79
- fs.cpSync(templateDir, projectPath, { recursive: true });
80
- // Remove .git directory if it exists
81
- const gitDir = (0, path_1.join)(projectPath, '.git');
82
- if (fs.existsSync(gitDir)) {
83
- fs.rmSync(gitDir, { recursive: true, force: true });
84
- }
85
- // Initialize new git repo
86
- console.log('\nInitializing git repo...');
87
- (0, child_process_1.execSync)('git init', { cwd: projectPath, stdio: 'pipe' });
88
- // Clean up temp directory
89
- fs.rmSync(tempDir, { recursive: true, force: true });
90
- // Install dependencies
91
- if (fs.existsSync((0, path_1.join)(projectPath, 'package-lock.json'))) {
92
- console.log('\nInstalling dependencies...');
93
- (0, child_process_1.execSync)('npm install', { cwd: projectPath, stdio: 'inherit' });
94
- }
95
- console.log((0, picocolors_1.green)(`\nSuccessfully created new project in ${projectPath}\n`));
96
- // Change into the new project directory and run codebuff
97
- process.chdir(projectPath);
98
- console.log('Starting Codebuff in the new project...\n');
99
- console.log('--------------------------------\n');
100
- (0, child_process_1.execSync)('codebuff', { stdio: 'inherit' });
101
- }
102
- catch (error) {
103
- console.error('Failed to initialize project:', error);
104
- process.exit(1);
105
- }
106
- }
107
- //# sourceMappingURL=create-template-project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-template-project.js","sourceRoot":"","sources":["../src/create-template-project.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { User } from './common/util/credentials';
2
- export declare const userFromJson: (json: string, profileName?: string) => User | undefined;
3
- export declare const CONFIG_DIR: string;
4
- export declare const CREDENTIALS_PATH: string;