codebuff 1.0.238 → 1.0.239
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 +43 -4
- package/dist/background-process-manager.js.map +1 -1
- package/dist/checkpoints/file-manager.js +1 -1
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +19 -11
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +12 -2
- package/dist/client.js +54 -25
- package/dist/client.js.map +1 -1
- package/dist/code-map/tsconfig.tsbuildinfo +1 -1
- package/dist/common/billing/quota-manager.d.ts +29 -0
- package/dist/common/billing/quota-manager.js +251 -0
- package/dist/common/billing/quota-manager.js.map +1 -0
- package/dist/common/constants/analytics-events.d.ts +12 -0
- package/dist/common/constants/analytics-events.js +19 -0
- package/dist/common/constants/analytics-events.js.map +1 -0
- package/dist/common/logger.d.ts +1 -0
- package/dist/common/logger.js +7 -0
- package/dist/common/logger.js.map +1 -0
- package/dist/common/types/usage.d.ts +4 -4
- package/dist/common/util/constants.d.ts +1 -0
- package/dist/common/util/constants.js +7 -0
- package/dist/common/util/constants.js.map +1 -0
- package/dist/common/util/helpers.d.ts +1 -0
- package/dist/common/util/helpers.js +6 -0
- package/dist/common/util/helpers.js.map +1 -0
- package/dist/common/util/logger.js +1 -1
- package/dist/common/util/logger.js.map +1 -1
- package/dist/common/util/token-counter.d.ts +3 -0
- package/dist/common/util/token-counter.js +27 -0
- package/dist/common/util/token-counter.js.map +1 -0
- package/dist/common/util/tools.d.ts +2 -0
- package/dist/common/util/tools.js +13 -0
- package/dist/common/util/tools.js.map +1 -0
- package/dist/dev-process-manager.js +3 -3
- package/dist/dev-process-manager.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/menu.js +14 -12
- package/dist/menu.js.map +1 -1
- package/dist/update-codebuff.js +2 -0
- package/dist/update-codebuff.js.map +1 -1
- package/dist/utils/analytics.d.ts +6 -0
- package/dist/utils/analytics.js +53 -0
- package/dist/utils/analytics.js.map +1 -0
- package/dist/utils/logger.d.ts +21 -0
- package/dist/utils/logger.js +78 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +2 -1
- package/dist/common/json-config/__tests__/__snapshots__/stringify-schema.test.js.snap +0 -66
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AnalyticsEvent = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Enum of analytics event types used throughout the application
|
|
6
|
+
*/
|
|
7
|
+
var AnalyticsEvent;
|
|
8
|
+
(function (AnalyticsEvent) {
|
|
9
|
+
// CLI
|
|
10
|
+
AnalyticsEvent["APP_LAUNCHED"] = "cli.app_launched";
|
|
11
|
+
AnalyticsEvent["BACKGROUND_PROCESS_CONTINUE"] = "cli.background_process_continue";
|
|
12
|
+
AnalyticsEvent["BACKGROUND_PROCESS_END"] = "cli.background_process_end";
|
|
13
|
+
AnalyticsEvent["BACKGROUND_PROCESS_LEFTOVER_DETECTED"] = "cli.background_process_leftover_detected";
|
|
14
|
+
AnalyticsEvent["BACKGROUND_PROCESS_START"] = "cli.background_process_start";
|
|
15
|
+
AnalyticsEvent["LOGIN"] = "cli.login";
|
|
16
|
+
// Backend
|
|
17
|
+
AnalyticsEvent["PROMPT_SENT"] = "backend.prompt_sent";
|
|
18
|
+
})(AnalyticsEvent || (exports.AnalyticsEvent = AnalyticsEvent = {}));
|
|
19
|
+
//# sourceMappingURL=analytics-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-events.js","sourceRoot":"","sources":["../../src/constants/analytics-events.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,MAAM;IACN,mDAAiC,CAAA;IACjC,iFAA+D,CAAA;IAC/D,uEAAqD,CAAA;IACrD,mGAAiF,CAAA;IACjF,2EAAyD,CAAA;IACzD,qCAAmB,CAAA;IAEnB,UAAU;IACV,qDAAmC,CAAA;AACrC,CAAC,EAXW,cAAc,8BAAd,cAAc,QAWzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function withLoggerContext(context: any, logger: any, callback: () => Promise<any>): Promise<any>;
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -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
|
-
totalDebt: number;
|
|
11
10
|
totalRemaining: number;
|
|
11
|
+
totalDebt: number;
|
|
12
12
|
netBalance: number;
|
|
13
13
|
breakdown?: Record<string, number> | undefined;
|
|
14
14
|
}, {
|
|
15
|
-
totalDebt: number;
|
|
16
15
|
totalRemaining: number;
|
|
16
|
+
totalDebt: 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
|
-
totalDebt: number;
|
|
26
25
|
totalRemaining: number;
|
|
26
|
+
totalDebt: 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
|
-
totalDebt: number;
|
|
36
35
|
totalRemaining: number;
|
|
36
|
+
totalDebt: number;
|
|
37
37
|
netBalance: number;
|
|
38
38
|
breakdown?: Record<string, number> | undefined;
|
|
39
39
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getModelForMode(mode: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const sleep: (ms: number) => Promise<unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.logger = exports.withLoggerContext = void 0;
|
|
7
|
-
const pino_1 = __importDefault(require("pino"));
|
|
8
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const pino_1 = __importDefault(require("pino"));
|
|
9
9
|
const env_mjs_1 = require("../env.mjs");
|
|
10
10
|
let AsyncLocalStorageImpl;
|
|
11
11
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AAEvB,gDAAuB;AAEvB,wCAAgC;AAEhC,IAAI,qBAA4E,CAAA;AAChF,IAAI,CAAC;IACH,qCAAqC;IACrC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAA;AAClE,CAAC;AAAC,MAAM,CAAC;IACP,qBAAqB,GAAG,IAAI,CAAA;AAC9B,CAAC;AAED,2DAA2D;AAC3D,MAAM,kBAAkB,GACtB,qBAAqB,KAAK,IAAI;IAC5B,CAAC,CAAC,IAAI,qBAAqB,EAAiB;IAC5C,CAAC,CAAC;QACE,kDAAkD;QAClD,GAAG,EAAE,CAAqB,CAAM,EAAE,EAAqB,EAAE,GAAG,IAAO,EAAE,EAAE,CACrE,EAAE,CAAC,GAAG,IAAI,CAAC;QACb,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;KAC1B,CAAA;AASA,MAAM,iBAAiB,GAAG,CAC/B,iBAAyC,EACzC,EAAoB,EACpB,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAkB,CAAA;IACtE,gEAAgE;IAChE,OAAQ,kBAA2D,CAAC,GAAG,CACrE,EAAE,GAAG,KAAK,EAAE,GAAG,iBAAiB,EAAE,EAClC,EAAE,CACH,CAAA;AACH,CAAC,CAAA;AAVY,QAAA,iBAAiB,qBAU7B;AAED,oEAAoE;AACpE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,CAAA;AACzD,MAAM,aAAa,GACjB,CAAC,aAAa,IAAI,aAAG,CAAC,0BAA0B,KAAK,YAAY;IAC/D,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC;QACb,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,EAAE,WAAW,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE;QACjE,KAAK,EAAE,OAAO;KACf,CAAC;IACJ,CAAC,CAAC,SAAS,CAAA;AAEF,QAAA,MAAM,GAAG,IAAA,cAAI,EACxB;IACE,KAAK,EAAE,OAAO;IACd,KAAK;QACH,yDAAyD;QACzD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAA;IACtD,CAAC;IACD,UAAU,EAAE;QACV,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;KACnD;IACD,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG;CAC9D,EACD,aAAa,CACd,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -21,7 +21,7 @@ function startDevProcesses(processes, projectPath) {
|
|
|
21
21
|
if (!toStart.length) {
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
|
-
console.log((0, picocolors_1.yellow)('Starting
|
|
24
|
+
console.log((0, picocolors_1.yellow)('Starting codebuff.json processes:'));
|
|
25
25
|
for (const { name, command, cwd, enabled, stderrFile, stdoutFile, } of processes) {
|
|
26
26
|
if (!enabled) {
|
|
27
27
|
continue;
|
|
@@ -43,10 +43,10 @@ function startDevProcesses(processes, projectPath) {
|
|
|
43
43
|
}, ({ result }) => {
|
|
44
44
|
const m = result.match(/<process_id>(\d+)<\/process_id>/);
|
|
45
45
|
if (m) {
|
|
46
|
-
console.log((0, picocolors_1.yellow)(`- ${name}:
|
|
46
|
+
console.log((0, picocolors_1.yellow)(`- ${name}: ${command}`));
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
|
-
console.log((0, picocolors_1.yellow)(`- ${name}:
|
|
49
|
+
console.log((0, picocolors_1.yellow)(`- ${name}: ${command} — failed to start`));
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-process-manager.js","sourceRoot":"","sources":["../src/dev-process-manager.ts"],"names":[],"mappings":";;;;;AAgBA,8CAmDC;AAnED,gDAAuB;AAGvB,+CAAsD;AACtD,2CAAmC;AAEnC,+CAAuD;AAEvD;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,SAA2B,EAC3B,WAAmB;IAEnB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAE9D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAA,mBAAM,EAAC,
|
|
1
|
+
{"version":3,"file":"dev-process-manager.js","sourceRoot":"","sources":["../src/dev-process-manager.ts"],"names":[],"mappings":";;;;;AAgBA,8CAmDC;AAnED,gDAAuB;AAGvB,+CAAsD;AACtD,2CAAmC;AAEnC,+CAAuD;AAEvD;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,SAA2B,EAC3B,WAAmB;IAEnB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAE9D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAA,mBAAM,EAAC,mCAAmC,CAAC,CAAC,CAAA;IAExD,KAAK,MAAM,EACT,IAAI,EACJ,OAAO,EACP,GAAG,EACH,OAAO,EACP,UAAU,EACV,UAAU,GACX,IAAI,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAQ;QACV,CAAC;QAED,4BAA4B;QAC5B,MAAM,UAAU,GAAG,GAAG;YACpB,CAAC,CAAC,cAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACpB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;YAClC,CAAC,CAAC,WAAW,CAAA;QAEf,oBAAoB;QACpB,IAAA,+BAAoB,EAClB;YACE,UAAU,EAAE,IAAA,0BAAiB,GAAE;YAC/B,OAAO;YACP,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,UAAU;YACvB,UAAU;YACV,UAAU;SACX,EACD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACb,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACzD,IAAI,CAAC,EAAE,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,IAAA,mBAAM,EAAC,KAAK,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,IAAA,mBAAM,EAAC,KAAK,IAAI,KAAK,OAAO,oBAAoB,CAAC,CAAC,CAAA;YAChE,CAAC;QACH,CAAC,CACF,CAAA;IACH,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
process.env.NEXT_PUBLIC_CB_ENVIRONMENT = 'production';
|
|
3
3
|
process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
|
|
4
|
-
process.env.NEXT_PUBLIC_APP_URL = 'https://
|
|
4
|
+
process.env.NEXT_PUBLIC_APP_URL = 'https://codebuff.com';
|
|
5
5
|
process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
|
|
6
|
+
process.env.NEXT_PUBLIC_POSTHOG_API_KEY = 'phc_tug7g8yc10qNestK14QV8WyKwjfEl6vwzIbJkBdqeHS';
|
|
7
|
+
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com/';
|
|
6
8
|
"use strict";
|
|
7
9
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
10
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -17,6 +19,7 @@ const create_template_project_1 = require("./create-template-project");
|
|
|
17
19
|
const project_files_1 = require("./project-files");
|
|
18
20
|
const startup_process_handler_1 = require("./startup-process-handler");
|
|
19
21
|
const update_codebuff_1 = require("./update-codebuff");
|
|
22
|
+
const analytics_1 = require("./utils/analytics");
|
|
20
23
|
const terminal_1 = require("./utils/terminal");
|
|
21
24
|
async function codebuff(projectDir, { initialInput, git, costMode, runInitFlow, model }) {
|
|
22
25
|
const dir = (0, project_files_1.setProjectRoot)(projectDir);
|
|
@@ -25,6 +28,7 @@ async function codebuff(projectDir, { initialInput, git, costMode, runInitFlow,
|
|
|
25
28
|
const config = (0, parser_1.loadCodebuffConfig)(dir);
|
|
26
29
|
// Kill all processes we failed to kill before
|
|
27
30
|
const processCleanupPromise = (0, startup_process_handler_1.logAndHandleStartup)(dir, config);
|
|
31
|
+
(0, analytics_1.initAnalytics)();
|
|
28
32
|
const updatePromise = (0, update_codebuff_1.updateCodebuff)();
|
|
29
33
|
const initFileContextPromise = (0, project_files_1.initProjectFileContextWithWorker)(dir);
|
|
30
34
|
const readyPromise = Promise.all([
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/menu.js
CHANGED
|
@@ -53,15 +53,17 @@ function displayGreeting(costMode, username) {
|
|
|
53
53
|
max: (0, picocolors_1.bold)((0, picocolors_1.blueBright)('Max mode️ ⚡ enabled')),
|
|
54
54
|
experimental: (0, picocolors_1.bold)((0, picocolors_1.magenta)('Experimental mode 🧪 enabled')),
|
|
55
55
|
};
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
if (costModeDescription[costMode]) {
|
|
57
|
+
console.log(`${costModeDescription[costMode]}`);
|
|
58
|
+
}
|
|
59
|
+
console.log(`Codebuff will read and write files in "${(0, project_files_1.getProjectRoot)()}". Type "help" for a list of commands.`);
|
|
58
60
|
const gitDir = path_1.default.join((0, project_files_1.getProjectRoot)(), '.git');
|
|
59
61
|
if ((0, project_files_1.getProjectRoot)() === os_1.default.homedir()) {
|
|
60
62
|
console.info('\nTo get started:\n- cd into a project\n- ask for a code change');
|
|
61
63
|
return;
|
|
62
64
|
}
|
|
63
65
|
if (!fs.existsSync(gitDir)) {
|
|
64
|
-
console.info((0, picocolors_1.magenta)("Just fyi, this project doesn't contain a .git directory (are you at the top level of your project?).
|
|
66
|
+
console.info((0, picocolors_1.magenta)("Just fyi, this project doesn't contain a .git directory (are you at the top level of your project?). Codebuff works best with a git repo!"));
|
|
65
67
|
}
|
|
66
68
|
console.log(`\nWelcome${username ? ` back ${username}` : ''}! What would you like to do?`);
|
|
67
69
|
}
|
|
@@ -93,32 +95,32 @@ ${colorizeRandom('╚██████╗')}${colorizeRandom('╚████
|
|
|
93
95
|
${colorizeRandom(' ╚═════╝')}${colorizeRandom(' ╚═════╝ ')}${colorizeRandom('╚═════╝ ')}${colorizeRandom('╚══════╝')}${colorizeRandom('╚═════╝ ')}${colorizeRandom(' ╚═════╝ ')}${colorizeRandom('╚═╝ ')}${colorizeRandom('╚═╝ ')}
|
|
94
96
|
`);
|
|
95
97
|
console.log((0, picocolors_1.bold)((0, picocolors_1.green)("Welcome! I'm your AI coding assistant.")));
|
|
96
|
-
console.log(`\
|
|
98
|
+
console.log(`\nCodebuff will read and write files within your current directory (${(0, project_files_1.getProjectRoot)()}) and run commands in your terminal.`);
|
|
97
99
|
console.log('\nASK CODEBUFF TO...');
|
|
98
100
|
console.log('- Build a feature. Brain dump what you want first.');
|
|
99
101
|
console.log('- Write unit tests');
|
|
100
102
|
console.log('- Refactor a component into multiple components');
|
|
101
103
|
console.log('- Fix errors from compiling your project or running tests');
|
|
102
104
|
console.log('- Write a script.');
|
|
103
|
-
console.log('- Plan a feature before implementing it. Or, write your own plan in a file and ask
|
|
105
|
+
console.log('- Plan a feature before implementing it. Or, write your own plan in a file and ask Codebuff to implement it step-by-step');
|
|
104
106
|
console.log('- Build an integration after pasting in the URL to relevant documentation');
|
|
105
|
-
console.log('- "Create knowledge files for your codebase" to help
|
|
107
|
+
console.log('- "Create knowledge files for your codebase" to help Codebuff understand your project');
|
|
106
108
|
console.log('\nCommands:');
|
|
107
109
|
console.log('- Enter terminal commands directly: "cd backend", "npm test"');
|
|
108
110
|
console.log('- Use "!command" to explicitly run a terminal command (e.g. "!ls -la")');
|
|
109
111
|
console.log('- Press ESC to cancel generation');
|
|
110
|
-
console.log('- Type "init" to have
|
|
112
|
+
console.log('- Type "init" to have Codebuff automatically configure your project for a smoother experience');
|
|
111
113
|
console.log('- Type "undo" or "redo" (abbreviated "u" or "r") to undo or redo the last change');
|
|
112
|
-
console.log('- Type "login" to log into
|
|
113
|
-
console.log('- Type "exit" or press Ctrl+C twice to exit
|
|
114
|
+
console.log('- Type "login" to log into Codebuff');
|
|
115
|
+
console.log('- Type "exit" or press Ctrl+C twice to exit Codebuff');
|
|
114
116
|
console.log('- Type "diff" or "d" to show changes from the last assistant response');
|
|
115
|
-
console.log('- Start
|
|
117
|
+
console.log('- Start Codebuff with --lite for efficient responses, --max for higher quality responses, or --experimental for cutting-edge features');
|
|
116
118
|
console.log('\nCheckpoint Commands:');
|
|
117
119
|
console.log('- Type "checkpoint <id>" to restore a specific checkpoint');
|
|
118
120
|
console.log('- Type "checkpoint list" or "checkpoints" to list all available checkpoints');
|
|
119
121
|
console.log(`\n- Redeem a referral code by simply pasting it here.`);
|
|
120
122
|
console.log('-', (0, picocolors_1.bold)((0, picocolors_1.green)(`Refer new users and each of you will earn ${constants_1.CREDITS_REFERRAL_BONUS} credits per month: ${process.env.NEXT_PUBLIC_APP_URL}/referrals`)));
|
|
121
|
-
console.log("\nAny files in .gitignore are not read by
|
|
122
|
-
console.log('\nEmail your feedback to', (0, picocolors_1.bold)((0, picocolors_1.blue)('founders@codebuff.com.')), 'Thanks for using
|
|
123
|
+
console.log("\nAny files in .gitignore are not read by Codebuff. You can ignore further files with .codebuffignore, or choose files Codebuff should not ignore by adding a '!' prefix to the ignore pattern.");
|
|
124
|
+
console.log('\nEmail your feedback to', (0, picocolors_1.bold)((0, picocolors_1.blue)('founders@codebuff.com.')), 'Thanks for using Codebuff!');
|
|
123
125
|
}
|
|
124
126
|
//# sourceMappingURL=menu.js.map
|
package/dist/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"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"}
|
package/dist/update-codebuff.js
CHANGED
|
@@ -9,6 +9,7 @@ const picocolors_1 = require("picocolors");
|
|
|
9
9
|
const package_json_1 = __importDefault(require("../package.json"));
|
|
10
10
|
const background_process_manager_1 = require("./background-process-manager");
|
|
11
11
|
const config_1 = require("./config");
|
|
12
|
+
const analytics_1 = require("./utils/analytics");
|
|
12
13
|
const web_scraper_1 = require("./web-scraper");
|
|
13
14
|
async function updateCodebuff() {
|
|
14
15
|
if (!config_1.isProduction)
|
|
@@ -25,6 +26,7 @@ async function updateCodebuff() {
|
|
|
25
26
|
try {
|
|
26
27
|
runUpdateCodebuff(installerInfo);
|
|
27
28
|
await (0, background_process_manager_1.killAllBackgroundProcesses)();
|
|
29
|
+
(0, analytics_1.flushAnalytics)();
|
|
28
30
|
console.log((0, picocolors_1.green)('Codebuff updated successfully.'));
|
|
29
31
|
console.log((0, picocolors_1.green)('Please restart by running `codebuff` to use the new version.'));
|
|
30
32
|
process.exit(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-codebuff.js","sourceRoot":"","sources":["../src/update-codebuff.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"update-codebuff.js","sourceRoot":"","sources":["../src/update-codebuff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AnalyticsEvent } from 'common/src/constants/analytics-events';
|
|
2
|
+
export declare let identified: boolean;
|
|
3
|
+
export declare function initAnalytics(): void;
|
|
4
|
+
export declare function flushAnalytics(): Promise<void>;
|
|
5
|
+
export declare function trackEvent(event: AnalyticsEvent, properties?: Record<string, any>): void;
|
|
6
|
+
export declare function identifyUser(userId: string, properties?: Record<string, any>): void;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.identified = void 0;
|
|
4
|
+
exports.initAnalytics = initAnalytics;
|
|
5
|
+
exports.flushAnalytics = flushAnalytics;
|
|
6
|
+
exports.trackEvent = trackEvent;
|
|
7
|
+
exports.identifyUser = identifyUser;
|
|
8
|
+
const posthog_node_1 = require("posthog-node");
|
|
9
|
+
// Store the identified user ID
|
|
10
|
+
let currentUserId;
|
|
11
|
+
let client;
|
|
12
|
+
exports.identified = false;
|
|
13
|
+
function initAnalytics() {
|
|
14
|
+
if (!process.env.NEXT_PUBLIC_POSTHOG_API_KEY ||
|
|
15
|
+
!process.env.NEXT_PUBLIC_POSTHOG_HOST_URL) {
|
|
16
|
+
throw new Error('NEXT_PUBLIC_POSTHOG_API_KEY or NEXT_PUBLIC_POSTHOG_HOST_URL is not set');
|
|
17
|
+
}
|
|
18
|
+
client = new posthog_node_1.PostHog(process.env.NEXT_PUBLIC_POSTHOG_API_KEY, {
|
|
19
|
+
host: process.env.NEXT_PUBLIC_POSTHOG_HOST_URL,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async function flushAnalytics() {
|
|
23
|
+
if (!client) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
await client.flush();
|
|
27
|
+
}
|
|
28
|
+
function trackEvent(event, properties) {
|
|
29
|
+
const distinctId = currentUserId;
|
|
30
|
+
if (!distinctId) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (!client) {
|
|
34
|
+
throw new Error('Analytics client not initialized');
|
|
35
|
+
}
|
|
36
|
+
client.capture({
|
|
37
|
+
distinctId,
|
|
38
|
+
event,
|
|
39
|
+
properties,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function identifyUser(userId, properties) {
|
|
43
|
+
// Store the user ID for future events
|
|
44
|
+
currentUserId = userId;
|
|
45
|
+
if (!client) {
|
|
46
|
+
throw new Error('Analytics client not initialized');
|
|
47
|
+
}
|
|
48
|
+
client.identify({
|
|
49
|
+
distinctId: userId,
|
|
50
|
+
properties,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/utils/analytics.ts"],"names":[],"mappings":";;;AASA,sCAaC;AACD,wCAKC;AAED,gCAiBC;AAED,oCAYC;AA5DD,+CAAsC;AAEtC,+BAA+B;AAC/B,IAAI,aAAiC,CAAA;AACrC,IAAI,MAA2B,CAAA;AAEpB,QAAA,UAAU,GAAY,KAAK,CAAA;AAEtC,SAAgB,aAAa;IAC3B,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B;QACxC,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EACzC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;IACH,CAAC;IAED,MAAM,GAAG,IAAI,sBAAO,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE;QAC5D,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B;KAC/C,CAAC,CAAA;AACJ,CAAC;AACM,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAM;IACR,CAAC;IACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;AACtB,CAAC;AAED,SAAgB,UAAU,CACxB,KAAqB,EACrB,UAAgC;IAEhC,MAAM,UAAU,GAAG,aAAa,CAAA;IAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAM;IACR,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC;QACb,UAAU;QACV,KAAK;QACL,UAAU;KACX,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc,EAAE,UAAgC;IAC3E,sCAAsC;IACtC,aAAa,GAAG,MAAM,CAAA;IAEtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC;QACd,UAAU,EAAE,MAAM;QAClB,UAAU;KACX,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import pino from 'pino';
|
|
2
|
+
export interface LoggerContext {
|
|
3
|
+
userId?: string;
|
|
4
|
+
userEmail?: string;
|
|
5
|
+
clientSessionId?: string;
|
|
6
|
+
fingerprintId?: string;
|
|
7
|
+
clientRequestId?: string;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}
|
|
10
|
+
export declare const loggerContext: LoggerContext;
|
|
11
|
+
declare const loggingLevels: readonly ["info", "debug", "warn", "error", "fatal"];
|
|
12
|
+
type LogLevel = (typeof loggingLevels)[number];
|
|
13
|
+
/**
|
|
14
|
+
* Wrapper around Pino logger.
|
|
15
|
+
*
|
|
16
|
+
* To also send to Posthog, set data.eventId to type AnalyticsEvent
|
|
17
|
+
*
|
|
18
|
+
* e.g. logger.info({eventId: AnalyticsEvent.SOME_EVENT, field: value}, 'some message')
|
|
19
|
+
*/
|
|
20
|
+
export declare const logger: Record<LogLevel, pino.LogFn>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
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.logger = exports.loggerContext = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const util_1 = require("util");
|
|
9
|
+
const analytics_events_1 = require("../common/constants/analytics-events");
|
|
10
|
+
const pino_1 = __importDefault(require("pino"));
|
|
11
|
+
const project_files_1 = require("src/project-files");
|
|
12
|
+
const analytics_1 = require("./analytics");
|
|
13
|
+
exports.loggerContext = {};
|
|
14
|
+
const analyticsBuffer = [];
|
|
15
|
+
const localFileTransport = pino_1.default.transport({
|
|
16
|
+
target: 'pino/file',
|
|
17
|
+
options: {
|
|
18
|
+
destination: path_1.default.join(__dirname, '../../../debug', 'npm-app.log'),
|
|
19
|
+
},
|
|
20
|
+
level: 'debug',
|
|
21
|
+
});
|
|
22
|
+
let productionFileTransport;
|
|
23
|
+
let storedDir;
|
|
24
|
+
const pinoLogger = (0, pino_1.default)({
|
|
25
|
+
level: 'debug',
|
|
26
|
+
formatters: {
|
|
27
|
+
level: (label) => {
|
|
28
|
+
return { level: label.toUpperCase() };
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
timestamp: () => `,"timestamp":"${new Date(Date.now()).toISOString()}"`,
|
|
32
|
+
}, process.env.NEXT_PUBLIC_CB_ENVIRONMENT === 'production'
|
|
33
|
+
? productionFileTransport
|
|
34
|
+
: localFileTransport);
|
|
35
|
+
const loggingLevels = ['info', 'debug', 'warn', 'error', 'fatal'];
|
|
36
|
+
function sendAnalyticsAndLog(level, data, msg, ...args) {
|
|
37
|
+
if (!productionFileTransport || storedDir !== (0, project_files_1.getProjectRoot)()) {
|
|
38
|
+
productionFileTransport = pino_1.default.transport({
|
|
39
|
+
target: 'pino/file',
|
|
40
|
+
options: { destination: path_1.default.join((0, project_files_1.getCurrentChatDir)(), 'log.jsonl') },
|
|
41
|
+
level: 'debug',
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
logOrStore: if (Object.values(analytics_events_1.AnalyticsEvent).includes(data.eventId)) {
|
|
45
|
+
const analyticsEventId = data.eventId;
|
|
46
|
+
const toTrack = {
|
|
47
|
+
data,
|
|
48
|
+
level,
|
|
49
|
+
loggerContext: exports.loggerContext,
|
|
50
|
+
msg: (0, util_1.format)(msg, ...args),
|
|
51
|
+
};
|
|
52
|
+
// Not accurate for anonymous users
|
|
53
|
+
if (!exports.loggerContext.userId) {
|
|
54
|
+
analyticsBuffer.push({ analyticsEventId, toTrack });
|
|
55
|
+
break logOrStore;
|
|
56
|
+
}
|
|
57
|
+
for (const item of analyticsBuffer) {
|
|
58
|
+
(0, analytics_1.trackEvent)(item.analyticsEventId, item.toTrack);
|
|
59
|
+
}
|
|
60
|
+
analyticsBuffer.length = 0;
|
|
61
|
+
(0, analytics_1.trackEvent)(analyticsEventId, toTrack);
|
|
62
|
+
}
|
|
63
|
+
pinoLogger[level]({ ...exports.loggerContext, data }, msg, ...args);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Wrapper around Pino logger.
|
|
67
|
+
*
|
|
68
|
+
* To also send to Posthog, set data.eventId to type AnalyticsEvent
|
|
69
|
+
*
|
|
70
|
+
* e.g. logger.info({eventId: AnalyticsEvent.SOME_EVENT, field: value}, 'some message')
|
|
71
|
+
*/
|
|
72
|
+
exports.logger = Object.fromEntries(loggingLevels.map((level) => {
|
|
73
|
+
return [
|
|
74
|
+
level,
|
|
75
|
+
(data, msg, ...args) => sendAnalyticsAndLog(level, data, msg, ...args),
|
|
76
|
+
];
|
|
77
|
+
}));
|
|
78
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codebuff",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.239",
|
|
4
4
|
"description": "AI dev assistant",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"lodash": "*",
|
|
52
52
|
"nanoid": "5.0.7",
|
|
53
53
|
"picocolors": "1.1.0",
|
|
54
|
+
"posthog-node": "^4.14.0",
|
|
54
55
|
"puppeteer-core": "^24.2.0",
|
|
55
56
|
"systeminformation": "5.23.4",
|
|
56
57
|
"tree-sitter": "0.21.1",
|