codebuff 1.0.307 → 1.0.309
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 +5 -0
- package/dist/background-process-manager.js.map +1 -1
- package/dist/browser-runner.js +12 -3
- package/dist/browser-runner.js.map +1 -1
- package/dist/chat-storage.js +11 -0
- package/dist/chat-storage.js.map +1 -1
- package/dist/checkpoints/checkpoint-manager.js +6 -0
- package/dist/checkpoints/checkpoint-manager.js.map +1 -1
- package/dist/checkpoints/file-manager.js +52 -8
- package/dist/checkpoints/file-manager.js.map +1 -1
- package/dist/cli-handlers/checkpoint.js +25 -0
- package/dist/cli-handlers/checkpoint.js.map +1 -1
- package/dist/cli.js +24 -3
- package/dist/cli.js.map +1 -1
- package/dist/client.js +89 -3
- package/dist/client.js.map +1 -1
- package/dist/code-map/tsconfig.tsbuildinfo +1 -1
- package/dist/common/actions.d.ts +15 -0
- package/dist/common/constants.d.ts +5 -0
- package/dist/common/constants.js +11 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/json-config/constants.d.ts +55 -0
- package/dist/common/json-config/constants.js +32 -2
- package/dist/common/json-config/constants.js.map +1 -1
- package/dist/common/types/agent-state.d.ts +3 -0
- package/dist/common/types/agent-state.js +2 -0
- package/dist/common/types/agent-state.js.map +1 -1
- package/dist/common/util/__tests__/saxy.test.js +89 -2
- package/dist/common/util/__tests__/saxy.test.js.map +1 -1
- package/dist/common/util/saxy.d.ts +2 -1
- package/dist/common/util/saxy.js +15 -5
- package/dist/common/util/saxy.js.map +1 -1
- package/dist/common/websockets/websocket-schema.d.ts +28 -0
- package/dist/create-template-project.js +24 -0
- package/dist/create-template-project.js.map +1 -1
- package/dist/credentials.js +8 -2
- package/dist/credentials.js.map +1 -1
- package/dist/dev-process-manager.js +2 -1
- package/dist/dev-process-manager.js.map +1 -1
- package/dist/index.js +9 -8
- package/dist/index.js.map +1 -1
- package/dist/json-config/hooks.d.ts +9 -0
- package/dist/json-config/hooks.js +60 -0
- package/dist/json-config/hooks.js.map +1 -0
- package/dist/json-config/parser.d.ts +7 -0
- package/dist/json-config/parser.js +53 -0
- package/dist/json-config/parser.js.map +1 -0
- package/dist/json-config-parser.d.ts +7 -0
- package/dist/json-config-parser.js +53 -0
- package/dist/json-config-parser.js.map +1 -0
- package/dist/menu.js +10 -9
- package/dist/menu.js.map +1 -1
- package/dist/project-files.js +51 -5
- package/dist/project-files.js.map +1 -1
- package/dist/startup-process-handler.d.ts +1 -2
- package/dist/startup-process-handler.js +5 -1
- package/dist/startup-process-handler.js.map +1 -1
- package/dist/tool-handlers.js +17 -0
- package/dist/tool-handlers.js.map +1 -1
- package/dist/utils/analytics.js +8 -2
- package/dist/utils/analytics.js.map +1 -1
- package/dist/utils/detect-shell.js +7 -2
- package/dist/utils/detect-shell.js.map +1 -1
- package/dist/utils/git.js +5 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/terminal.d.ts +1 -0
- package/dist/utils/terminal.js.map +1 -1
- package/dist/web-scraper.js +6 -4
- package/dist/web-scraper.js.map +1 -1
- package/dist/workers/checkpoint-worker.js +1 -0
- package/dist/workers/checkpoint-worker.js.map +1 -1
- package/package.json +2 -1
- package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts +0 -12
- package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts.map +0 -1
- package/dist/code-map/__mocks__/tree-sitter-typescript.js +0 -14
- package/dist/code-map/__mocks__/tree-sitter-typescript.js.map +0 -1
- package/dist/code-map/jest.config.d.ts +0 -4
- package/dist/code-map/jest.config.d.ts.map +0 -1
- package/dist/code-map/jest.config.js +0 -18
- package/dist/code-map/jest.config.js.map +0 -1
- package/dist/code-map/scripts/tree-sitter-test.cjs +0 -27
- package/dist/code-map/scripts/tree-sitter-test.cjs.map +0 -1
- package/dist/code-map/scripts/tree-sitter-test.d.cts +0 -2
- package/dist/code-map/scripts/tree-sitter-test.d.cts.map +0 -1
- package/dist/code-map/scripts/tree-sitter-test.d.ts +0 -2
- package/dist/code-map/scripts/tree-sitter-test.d.ts.map +0 -1
- package/dist/code-map/scripts/tree-sitter-test.js +0 -54
- package/dist/code-map/scripts/tree-sitter-test.js.map +0 -1
|
@@ -29,22 +29,35 @@ const path_1 = require("path");
|
|
|
29
29
|
const fs = __importStar(require("fs"));
|
|
30
30
|
const os = __importStar(require("os"));
|
|
31
31
|
const picocolors_1 = require("picocolors");
|
|
32
|
+
const logger_1 = require("./utils/logger");
|
|
32
33
|
async function createTemplateProject(template, projectDir, projectName = template) {
|
|
33
34
|
console.log(`Creating project from ${template} template in ${projectDir}/${projectName}`);
|
|
34
35
|
// Validate template name contains only alphanumeric chars, dash and underscore
|
|
35
36
|
if (!/^[a-zA-Z0-9-_]+$/.test(template)) {
|
|
36
37
|
console.error('Template name can only contain letters, numbers, dash and underscore');
|
|
38
|
+
logger_1.logger.error({
|
|
39
|
+
errorMessage: 'Template name can only contain letters, numbers, dash and underscore',
|
|
40
|
+
template,
|
|
41
|
+
}, 'Invalid template name');
|
|
37
42
|
process.exit(1);
|
|
38
43
|
}
|
|
39
44
|
// Validate project name
|
|
40
45
|
if (!/^[a-zA-Z0-9-_]+$/.test(projectName)) {
|
|
41
46
|
console.error('Project name can only contain letters, numbers, dash and underscore');
|
|
47
|
+
logger_1.logger.error({
|
|
48
|
+
errorMessage: 'Project name can only contain letters, numbers, dash and underscore',
|
|
49
|
+
projectName,
|
|
50
|
+
}, 'Invalid project name');
|
|
42
51
|
process.exit(1);
|
|
43
52
|
}
|
|
44
53
|
const projectPath = (0, path_1.join)(projectDir, projectName);
|
|
45
54
|
// Check if directory already exists
|
|
46
55
|
if (fs.existsSync(projectPath)) {
|
|
47
56
|
console.error(`Directory ${projectPath} already exists`);
|
|
57
|
+
logger_1.logger.error({
|
|
58
|
+
errorMessage: `Directory ${projectPath} already exists`,
|
|
59
|
+
projectPath,
|
|
60
|
+
}, 'Directory already exists');
|
|
48
61
|
process.exit(1);
|
|
49
62
|
}
|
|
50
63
|
try {
|
|
@@ -67,6 +80,10 @@ async function createTemplateProject(template, projectDir, projectName = templat
|
|
|
67
80
|
}
|
|
68
81
|
else {
|
|
69
82
|
console.error(`Template ${template} not found in starter-templates/ or showcase/`);
|
|
83
|
+
logger_1.logger.error({
|
|
84
|
+
errorMessage: `Template ${template} not found in starter-templates/ or showcase/`,
|
|
85
|
+
template,
|
|
86
|
+
}, 'Template not found');
|
|
70
87
|
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
71
88
|
process.exit(1);
|
|
72
89
|
}
|
|
@@ -100,6 +117,13 @@ async function createTemplateProject(template, projectDir, projectName = templat
|
|
|
100
117
|
(0, child_process_1.execSync)('codebuff', { stdio: 'inherit' });
|
|
101
118
|
}
|
|
102
119
|
catch (error) {
|
|
120
|
+
logger_1.logger.error({
|
|
121
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
122
|
+
errorStack: error instanceof Error ? error.stack : undefined,
|
|
123
|
+
template,
|
|
124
|
+
projectDir,
|
|
125
|
+
projectName,
|
|
126
|
+
}, 'Failed to initialize project');
|
|
103
127
|
console.error('Failed to initialize project:', error);
|
|
104
128
|
process.exit(1);
|
|
105
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-template-project.js","sourceRoot":"","sources":["../src/create-template-project.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"create-template-project.js","sourceRoot":"","sources":["../src/create-template-project.ts"],"names":[],"mappings":"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"}
|
package/dist/credentials.js
CHANGED
|
@@ -5,9 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.CREDENTIALS_PATH = exports.CONFIG_DIR = exports.userFromJson = void 0;
|
|
7
7
|
const credentials_1 = require("./common/util/credentials");
|
|
8
|
-
const zod_1 = require("zod");
|
|
9
|
-
const os_1 = __importDefault(require("os"));
|
|
10
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const os_1 = __importDefault(require("os"));
|
|
10
|
+
const zod_1 = require("zod");
|
|
11
|
+
const logger_1 = require("./utils/logger");
|
|
11
12
|
const credentialsSchema = zod_1.z
|
|
12
13
|
.object({
|
|
13
14
|
default: credentials_1.userSchema,
|
|
@@ -21,6 +22,11 @@ const userFromJson = (json, profileName = 'default') => {
|
|
|
21
22
|
}
|
|
22
23
|
catch (error) {
|
|
23
24
|
console.error('Error parsing user JSON:', error);
|
|
25
|
+
logger_1.logger.error({
|
|
26
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
27
|
+
errorStack: error instanceof Error ? error.stack : undefined,
|
|
28
|
+
profileName,
|
|
29
|
+
}, 'Error parsing user JSON');
|
|
24
30
|
return;
|
|
25
31
|
}
|
|
26
32
|
};
|
package/dist/credentials.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":";;;;;;AAAA,yDAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":";;;;;;AAAA,yDAA0D;AAC1D,0DAA4B;AAC5B,4CAAmB;AACnB,6BAAuB;AACvB,2CAAuC;AAEvC,MAAM,iBAAiB,GAAG,OAAC;KACxB,MAAM,CAAC;IACN,OAAO,EAAE,wBAAU;CACpB,CAAC;KACD,QAAQ,CAAC,wBAAU,CAAC,CAAA;AAEhB,MAAM,YAAY,GAAG,CAC1B,IAAY,EACZ,cAAsB,SAAS,EACb,EAAE;IACpB,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAChE,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;QAC3C,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAChD,eAAM,CAAC,KAAK,CACV;YACE,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACpE,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC5D,WAAW;SACZ,EACD,yBAAyB,CAC1B,CAAA;QACD,OAAM;IACR,CAAC;AACH,CAAC,CAAA;AApBY,QAAA,YAAY,gBAoBxB;AAED,2CAAwD;AAE3C,QAAA,UAAU,GAAG,mBAAI,CAAC,IAAI,CACjC,YAAE,CAAC,OAAO,EAAE,EACZ,SAAS,EACT,UAAU;IACR,0BAA0B;IAC1B,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B;QACvC,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,YAAY;QACrD,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE;QAC9C,CAAC,CAAC,EAAE,CAAC,CACV,CAAA;AAED,iCAAiC;AACjC,IAAA,4BAAqB,EAAC,kBAAU,CAAC,CAAA;AACpB,QAAA,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,kBAAU,EAAE,kBAAkB,CAAC,CAAA"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.startDevProcesses = startDevProcesses;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const constants_1 = require("./common/json-config/constants");
|
|
8
9
|
const string_1 = require("./common/util/string");
|
|
9
10
|
const picocolors_1 = require("picocolors");
|
|
10
11
|
const terminal_1 = require("./utils/terminal");
|
|
@@ -21,7 +22,7 @@ function startDevProcesses(processes, projectPath) {
|
|
|
21
22
|
if (!toStart.length) {
|
|
22
23
|
return;
|
|
23
24
|
}
|
|
24
|
-
console.log((0, picocolors_1.yellow)(
|
|
25
|
+
console.log((0, picocolors_1.yellow)(`Starting ${constants_1.codebuffConfigFile} processes:`));
|
|
25
26
|
for (const { name, command, cwd, enabled, stderrFile, stdoutFile, } of processes) {
|
|
26
27
|
if (!enabled) {
|
|
27
28
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-process-manager.js","sourceRoot":"","sources":["../src/dev-process-manager.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"dev-process-manager.js","sourceRoot":"","sources":["../src/dev-process-manager.ts"],"names":[],"mappings":";;;;;AAmBA,8CAqDC;AAxED,gDAAuB;AAEvB,4DAGqC;AACrC,+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,YAAY,8BAAkB,aAAa,CAAC,CAAC,CAAA;IAEhE,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,WAAW,GAAG,GAAG;YACrB,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,GAAG,EAAE,WAAW;YAChB,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;IAED,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
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://codebuff.com';
|
|
4
|
+
process.env.NEXT_PUBLIC_APP_URL = 'https://www.codebuff.com';
|
|
5
5
|
process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
|
|
6
6
|
process.env.NEXT_PUBLIC_POSTHOG_API_KEY = 'phc_tug7g8yc10qNestK14QV8WyKwjfEl6vwzIbJkBdqeHS';
|
|
7
|
-
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com
|
|
7
|
+
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com';
|
|
8
8
|
process.env.NEXT_PUBLIC_CB_ENVIRONMENT = 'production';
|
|
9
9
|
process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
|
|
10
|
-
process.env.NEXT_PUBLIC_APP_URL = 'https://codebuff.com';
|
|
10
|
+
process.env.NEXT_PUBLIC_APP_URL = 'https://www.codebuff.com';
|
|
11
11
|
process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
|
|
12
12
|
process.env.NEXT_PUBLIC_POSTHOG_API_KEY = 'phc_tug7g8yc10qNestK14QV8WyKwjfEl6vwzIbJkBdqeHS';
|
|
13
|
-
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com
|
|
13
|
+
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com';
|
|
14
14
|
"use strict";
|
|
15
15
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
16
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17
17
|
};
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
const commander_1 = require("commander");
|
|
20
|
-
const parser_1 = require("./common/json-config/parser");
|
|
21
20
|
const picocolors_1 = require("picocolors");
|
|
22
21
|
const package_json_1 = __importDefault(require("../package.json"));
|
|
23
22
|
const cli_1 = require("./cli");
|
|
@@ -29,6 +28,7 @@ const startup_process_handler_1 = require("./startup-process-handler");
|
|
|
29
28
|
const update_codebuff_1 = require("./update-codebuff");
|
|
30
29
|
const analytics_1 = require("./utils/analytics");
|
|
31
30
|
const git_1 = require("./utils/git");
|
|
31
|
+
const logger_1 = require("./utils/logger");
|
|
32
32
|
const terminal_1 = require("./utils/terminal");
|
|
33
33
|
async function codebuff(projectDir, { initialInput, git, costMode, runInitFlow, model }) {
|
|
34
34
|
(0, display_1.enableSquashNewlines)();
|
|
@@ -38,10 +38,8 @@ async function codebuff(projectDir, { initialInput, git, costMode, runInitFlow,
|
|
|
38
38
|
const projectRoot = (0, project_files_1.setProjectRoot)(gitRoot);
|
|
39
39
|
(0, project_files_1.setWorkingDirectory)(cwd);
|
|
40
40
|
(0, terminal_1.recreateShell)(cwd);
|
|
41
|
-
// Load config file if it exists
|
|
42
|
-
const config = (0, parser_1.loadCodebuffConfig)(projectRoot);
|
|
43
41
|
// Kill all processes we failed to kill before
|
|
44
|
-
const processCleanupPromise = (0, startup_process_handler_1.logAndHandleStartup)(
|
|
42
|
+
const processCleanupPromise = (0, startup_process_handler_1.logAndHandleStartup)();
|
|
45
43
|
(0, analytics_1.initAnalytics)();
|
|
46
44
|
const updatePromise = (0, update_codebuff_1.updateCodebuff)();
|
|
47
45
|
const initFileContextPromise = (0, project_files_1.initProjectFileContextWithWorker)(projectRoot);
|
|
@@ -95,6 +93,9 @@ For all commands and options, run 'codebuff' and then type 'help'.
|
|
|
95
93
|
// Handle deprecated --pro flag
|
|
96
94
|
if (options.pro) {
|
|
97
95
|
console.error((0, picocolors_1.red)('Warning: The --pro flag is deprecated. Please restart codebuff and use the --max option instead.'));
|
|
96
|
+
logger_1.logger.error({
|
|
97
|
+
errorMessage: 'The --pro flag is deprecated. Please restart codebuff and use the --max option instead.',
|
|
98
|
+
}, 'Deprecated --pro flag used');
|
|
98
99
|
process.exit(1);
|
|
99
100
|
}
|
|
100
101
|
// Determine cost mode
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAEA,yCAA2C;AAE3C,2CAAgC;AAEhC,mEAAyC;AACzC,+BAA2B;AAC3B,uDAA4D;AAC5D,uEAAiE;AACjE,uCAAgD;AAChD,mDAKwB;AACxB,uEAA+D;AAE/D,uDAAkD;AAClD,iDAAiD;AACjD,qCAAyC;AACzC,2CAAuC;AACvC,+CAAgD;AAEhD,KAAK,UAAU,QAAQ,CACrB,UAA8B,EAC9B,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAc;IAE/D,IAAA,8BAAoB,GAAE,CAAA;IAEtB,gCAAgC;IAChC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,IAAA,oCAAoB,EAAC,UAAU,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,IAAA,iBAAW,EAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IAC5D,MAAM,WAAW,GAAG,IAAA,8BAAc,EAAC,OAAO,CAAC,CAAA;IAC3C,IAAA,mCAAmB,EAAC,GAAG,CAAC,CAAA;IAExB,IAAA,wBAAa,EAAC,GAAG,CAAC,CAAA;IAElB,8CAA8C;IAC9C,MAAM,qBAAqB,GAAG,IAAA,6CAAmB,GAAE,CAAA;IAEnD,IAAA,yBAAa,GAAE,CAAA;IAEf,MAAM,aAAa,GAAG,IAAA,gCAAc,GAAE,CAAA;IAEtC,MAAM,sBAAsB,GAAG,IAAA,gDAAgC,EAAC,WAAW,CAAC,CAAA;IAE5E,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;QAC/B,sBAAsB;QACtB,aAAa;QACb,qBAAqB;KACtB,CAAC,CAAA;IAEF,+BAA+B;IAC/B,SAAG,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IACtD,MAAM,GAAG,GAAG,SAAG,CAAC,WAAW,EAAE,CAAA;IAE7B,MAAM,GAAG,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;IAE7B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,sBAAW,CAAC,OAAO,CAAC,CAAA;IAErD,wCAAwC;IACxC,8BAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,+DAA+D;QAC/D,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,sCAAsC;IACtC,4BAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,cAAc,GAAG,IAAI,kBAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;QAC7D,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QACD,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,WAAW,CACjB,OAAO,EACP;;;;;;;CAOH,CACE,CAAA;IAED,OAAO,CAAC,KAAK,EAAE,CAAA;IAEf,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAEzB,2BAA2B;IAC3B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAA;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA;QAEvC,IAAA,+CAAqB,EAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,IAAA,gBAAG,EACD,kGAAkG,CACnG,CACF,CAAA;QACD,eAAM,CAAC,KAAK,CACV;YACE,YAAY,EAAE,yFAAyF;SACxG,EACD,4BAA4B,CAC7B,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,sBAAsB;IACtB,IAAI,QAAQ,GAAa,QAAQ,CAAA;IACjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,QAAQ,GAAG,MAAM,CAAA;IACnB,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,QAAQ,GAAG,KAAK,CAAA;IAClB,CAAC;SAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,QAAQ,GAAG,cAAc,CAAA;IAC3B,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,QAAQ,GAAG,KAAK,CAAA;IAClB,CAAC;IAED,yBAAyB;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAE,OAAiB,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpE,0CAA0C;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE5C,QAAQ,CAAC,WAAW,EAAE;QACpB,YAAY;QACZ,GAAG;QACH,QAAQ;QACR,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ToolResult } from '../common/types/agent-state';
|
|
2
|
+
/**
|
|
3
|
+
* Runs file change hooks defined in the codebuff.json configuration.
|
|
4
|
+
* Returns an array of tool results for any hooks that fail.
|
|
5
|
+
*/
|
|
6
|
+
export declare function runFileChangeHooks(filesChanged: string[]): Promise<{
|
|
7
|
+
toolResults: ToolResult[];
|
|
8
|
+
someHooksFailed: boolean;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1,60 @@
|
|
|
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.runFileChangeHooks = runFileChangeHooks;
|
|
7
|
+
const string_1 = require("../common/util/string");
|
|
8
|
+
const micromatch_1 = __importDefault(require("micromatch"));
|
|
9
|
+
const project_files_1 = require("../project-files");
|
|
10
|
+
const logger_1 = require("../utils/logger");
|
|
11
|
+
const terminal_1 = require("../utils/terminal");
|
|
12
|
+
const parser_1 = require("./parser");
|
|
13
|
+
/**
|
|
14
|
+
* Runs file change hooks defined in the codebuff.json configuration.
|
|
15
|
+
* Returns an array of tool results for any hooks that fail.
|
|
16
|
+
*/
|
|
17
|
+
async function runFileChangeHooks(filesChanged) {
|
|
18
|
+
const config = (0, parser_1.loadCodebuffConfig)();
|
|
19
|
+
const toolResults = [];
|
|
20
|
+
let someHooksFailed = false;
|
|
21
|
+
if (!config?.fileChangeHooks) {
|
|
22
|
+
return { toolResults, someHooksFailed };
|
|
23
|
+
}
|
|
24
|
+
for (const hook of config.fileChangeHooks) {
|
|
25
|
+
if (!hook.enabled) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
// If a filePattern is specified, check if any of the changed files match
|
|
29
|
+
if (hook.filePattern && filesChanged.length > 0) {
|
|
30
|
+
const matchingFiles = (0, micromatch_1.default)(filesChanged, hook.filePattern);
|
|
31
|
+
if (matchingFiles.length === 0) {
|
|
32
|
+
// No files match the pattern, skip this hook
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
const hookName = `file-change-hook-${hook.name}`;
|
|
38
|
+
const hookId = (0, string_1.generateCompactId)(`${hookName}-`);
|
|
39
|
+
const result = await (0, terminal_1.runTerminalCommand)(hookId, hook.command, 'assistant', 'SYNC', -1, hook.cwd || (0, project_files_1.getProjectRoot)(), undefined, undefined);
|
|
40
|
+
if (result.exitCode !== 0) {
|
|
41
|
+
someHooksFailed = true;
|
|
42
|
+
}
|
|
43
|
+
toolResults.push({
|
|
44
|
+
name: hookName,
|
|
45
|
+
id: hookId,
|
|
46
|
+
result: result.result,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
logger_1.logger.error({
|
|
51
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
52
|
+
errorStack: error instanceof Error ? error.stack : undefined,
|
|
53
|
+
hookName: hook.name,
|
|
54
|
+
hookCommand: hook.command,
|
|
55
|
+
}, 'Error running file change hook');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return { toolResults, someHooksFailed };
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/json-config/hooks.ts"],"names":[],"mappings":";;;;;AAaA,gDA4DC;AAxED,+CAAsD;AACtD,4DAAmC;AAEnC,oDAAiD;AACjD,4CAAwC;AACxC,gDAAsD;AACtD,qCAA6C;AAE7C;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,YAAsB;IAEtB,MAAM,MAAM,GAAG,IAAA,2BAAkB,GAAE,CAAA;IACnC,MAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,IAAI,eAAe,GAAG,KAAK,CAAA;IAE3B,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;QAC7B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAA;IACzC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,SAAQ;QACV,CAAC;QAED,yEAAyE;QACzE,IAAI,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,aAAa,GAAG,IAAA,oBAAU,EAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAChE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,6CAA6C;gBAC7C,SAAQ;YACV,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAA;YAChD,MAAM,MAAM,GAAG,IAAA,0BAAiB,EAAC,GAAG,QAAQ,GAAG,CAAC,CAAA;YAChD,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAkB,EACrC,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,WAAW,EACX,MAAM,EACN,CAAC,CAAC,EACF,IAAI,CAAC,GAAG,IAAI,IAAA,8BAAc,GAAE,EAC5B,SAAS,EACT,SAAS,CACV,CAAA;YACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,eAAe,GAAG,IAAI,CAAA;YACxB,CAAC;YACD,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,MAAM;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CACV;gBACE,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACpE,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC5D,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,WAAW,EAAE,IAAI,CAAC,OAAO;aAC1B,EACD,gCAAgC,CACjC,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAA;AACzC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CodebuffConfig } from '../common/json-config/constants';
|
|
2
|
+
/**
|
|
3
|
+
* Loads and validates the configuration file from the project directory.
|
|
4
|
+
* @param projectPath - The root directory of the project
|
|
5
|
+
* @returns The parsed and validated configuration, or null if no valid config exists
|
|
6
|
+
*/
|
|
7
|
+
export declare function loadCodebuffConfig(): CodebuffConfig | null;
|
|
@@ -0,0 +1,53 @@
|
|
|
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.loadCodebuffConfig = loadCodebuffConfig;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const jsonc_parser_1 = require("jsonc-parser");
|
|
10
|
+
const picocolors_1 = require("picocolors");
|
|
11
|
+
const constants_1 = require("../common/json-config/constants");
|
|
12
|
+
const project_files_1 = require("../project-files");
|
|
13
|
+
/**
|
|
14
|
+
* Loads and validates the configuration file from the project directory.
|
|
15
|
+
* @param projectPath - The root directory of the project
|
|
16
|
+
* @returns The parsed and validated configuration, or null if no valid config exists
|
|
17
|
+
*/
|
|
18
|
+
function loadCodebuffConfig() {
|
|
19
|
+
const projectPath = (0, project_files_1.getProjectRoot)();
|
|
20
|
+
const configPathPrimary = path_1.default.join(projectPath, constants_1.codebuffConfigFile);
|
|
21
|
+
const configPathBackup = path_1.default.join(projectPath, constants_1.codebuffConfigFileBackup);
|
|
22
|
+
const configPath = (0, fs_1.existsSync)(configPathBackup)
|
|
23
|
+
? configPathBackup
|
|
24
|
+
: (0, fs_1.existsSync)(configPathPrimary)
|
|
25
|
+
? configPathPrimary
|
|
26
|
+
: null;
|
|
27
|
+
if (configPath === null) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const jsoncContent = (0, fs_1.readFileSync)(configPath, 'utf-8');
|
|
32
|
+
const parsedConfig = (0, jsonc_parser_1.parse)(jsoncContent);
|
|
33
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(parsedConfig);
|
|
34
|
+
if (!result.success) {
|
|
35
|
+
console.warn((0, picocolors_1.yellow)(`Warning: Invalid ${constants_1.codebuffConfigFile} configuration. Please check the schema:\n` +
|
|
36
|
+
result.error.errors
|
|
37
|
+
.map((err) => `- ${err.path.join('.')}: ${err.message}`)
|
|
38
|
+
.join('\n')));
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return result.data;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
if (error instanceof SyntaxError) {
|
|
45
|
+
console.warn((0, picocolors_1.yellow)(`Warning: Invalid JSON in ${constants_1.codebuffConfigFile}. Please check the syntax.`));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
console.warn((0, picocolors_1.yellow)(`Warning: Error reading ${constants_1.codebuffConfigFile} configuration file.`));
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/json-config/parser.ts"],"names":[],"mappings":";;;;;AAmBA,gDAiDC;AApED,2BAA6C;AAC7C,gDAAuB;AAEvB,+CAAkD;AAClD,2CAAmC;AAEnC,4DAKqC;AACrC,oDAAiD;AAEjD;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,MAAM,WAAW,GAAG,IAAA,8BAAc,GAAE,CAAA;IACpC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,8BAAkB,CAAC,CAAA;IACpE,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oCAAwB,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,IAAA,eAAU,EAAC,gBAAgB,CAAC;QAC7C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,IAAA,eAAU,EAAC,iBAAiB,CAAC;YAC7B,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,CAAA;IAEV,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,IAAA,oBAAU,EAAC,YAAY,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,gCAAoB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAE3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,oBAAoB,8BAAkB,4CAA4C;gBAChF,MAAM,CAAC,KAAK,CAAC,MAAM;qBAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;qBACvD,IAAI,CAAC,IAAI,CAAC,CAChB,CACF,CAAA;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,4BAA4B,8BAAkB,4BAA4B,CAC3E,CACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,0BAA0B,8BAAkB,sBAAsB,CACnE,CACF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CodebuffConfig } from './common/json-config/constants';
|
|
2
|
+
/**
|
|
3
|
+
* Loads and validates the configuration file from the project directory.
|
|
4
|
+
* @param projectPath - The root directory of the project
|
|
5
|
+
* @returns The parsed and validated configuration, or null if no valid config exists
|
|
6
|
+
*/
|
|
7
|
+
export declare function loadCodebuffConfig(): CodebuffConfig | null;
|
|
@@ -0,0 +1,53 @@
|
|
|
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.loadCodebuffConfig = loadCodebuffConfig;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const jsonc_parser_1 = require("jsonc-parser");
|
|
10
|
+
const picocolors_1 = require("picocolors");
|
|
11
|
+
const constants_1 = require("./common/json-config/constants");
|
|
12
|
+
const project_files_1 = require("./project-files");
|
|
13
|
+
/**
|
|
14
|
+
* Loads and validates the configuration file from the project directory.
|
|
15
|
+
* @param projectPath - The root directory of the project
|
|
16
|
+
* @returns The parsed and validated configuration, or null if no valid config exists
|
|
17
|
+
*/
|
|
18
|
+
function loadCodebuffConfig() {
|
|
19
|
+
const projectPath = (0, project_files_1.getProjectRoot)();
|
|
20
|
+
const configPathPrimary = path_1.default.join(projectPath, constants_1.codebuffConfigFile);
|
|
21
|
+
const configPathBackup = path_1.default.join(projectPath, constants_1.codebuffConfigFileBackup);
|
|
22
|
+
const configPath = (0, fs_1.existsSync)(configPathBackup)
|
|
23
|
+
? configPathBackup
|
|
24
|
+
: (0, fs_1.existsSync)(configPathPrimary)
|
|
25
|
+
? configPathPrimary
|
|
26
|
+
: null;
|
|
27
|
+
if (configPath === null) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const jsoncContent = (0, fs_1.readFileSync)(configPath, 'utf-8');
|
|
32
|
+
const parsedConfig = (0, jsonc_parser_1.parse)(jsoncContent);
|
|
33
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(parsedConfig);
|
|
34
|
+
if (!result.success) {
|
|
35
|
+
console.warn((0, picocolors_1.yellow)(`Warning: Invalid ${constants_1.codebuffConfigFile} configuration. Please check the schema:\n` +
|
|
36
|
+
result.error.errors
|
|
37
|
+
.map((err) => `- ${err.path.join('.')}: ${err.message}`)
|
|
38
|
+
.join('\n')));
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return result.data;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
if (error instanceof SyntaxError) {
|
|
45
|
+
console.warn((0, picocolors_1.yellow)(`Warning: Invalid JSON in ${constants_1.codebuffConfigFile}. Please check the syntax.`));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
console.warn((0, picocolors_1.yellow)(`Warning: Error reading ${constants_1.codebuffConfigFile} configuration file.`));
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=json-config-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-config-parser.js","sourceRoot":"","sources":["../src/json-config-parser.ts"],"names":[],"mappings":";;;;;AAmBA,gDAiDC;AApED,2BAA6C;AAC7C,gDAAuB;AAEvB,+CAAkD;AAClD,2CAAmC;AAEnC,4DAKqC;AACrC,mDAAgD;AAEhD;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,MAAM,WAAW,GAAG,IAAA,8BAAc,GAAE,CAAA;IACpC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,8BAAkB,CAAC,CAAA;IACpE,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oCAAwB,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,IAAA,eAAU,EAAC,gBAAgB,CAAC;QAC7C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,IAAA,eAAU,EAAC,iBAAiB,CAAC;YAC7B,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,CAAA;IAEV,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,IAAA,oBAAU,EAAC,YAAY,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,gCAAoB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAE3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,oBAAoB,8BAAkB,4CAA4C;gBAChF,MAAM,CAAC,KAAK,CAAC,MAAM;qBAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;qBACvD,IAAI,CAAC,IAAI,CAAC,CAChB,CACF,CAAA;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,4BAA4B,8BAAkB,4BAA4B,CAC3E,CACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,0BAA0B,8BAAkB,sBAAsB,CACnE,CACF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
|
package/dist/menu.js
CHANGED
|
@@ -35,6 +35,7 @@ const fs = __importStar(require("fs"));
|
|
|
35
35
|
const os_1 = __importDefault(require("os"));
|
|
36
36
|
const path_1 = __importDefault(require("path"));
|
|
37
37
|
const picocolors_1 = require("picocolors");
|
|
38
|
+
const constants_1 = require("./common/json-config/constants");
|
|
38
39
|
const project_files_1 = require("./project-files");
|
|
39
40
|
exports.interactiveCommandDetails = [
|
|
40
41
|
{
|
|
@@ -266,42 +267,42 @@ ${colorizeRandom(' ╚═════╝')}${colorizeRandom(' ╚═════
|
|
|
266
267
|
const hasGitRepo = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), '.git'));
|
|
267
268
|
const hasGitIgnore = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), '.gitignore'));
|
|
268
269
|
const hasKnowledgeMd = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), 'knowledge.md'));
|
|
269
|
-
const hasCodebuffJson = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(),
|
|
270
|
+
const hasCodebuffJson = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), constants_1.codebuffConfigFile));
|
|
270
271
|
const gitignoreNote = ' (Codebuff never reads files in your .gitignore/.codebuffignore)';
|
|
271
272
|
// Condition 1: Git repo found, all files present
|
|
272
273
|
if (hasGitRepo && hasGitIgnore && hasKnowledgeMd && hasCodebuffJson) {
|
|
273
274
|
return `${currentDirectoryLine}\n${(0, picocolors_1.green)('✅ Git repo: detected')}
|
|
274
275
|
${(0, picocolors_1.green)('✅ .gitignore: detected')}${gitignoreNote}
|
|
275
276
|
${(0, picocolors_1.green)('✅ knowledge.md: detected')}
|
|
276
|
-
${(0, picocolors_1.green)(
|
|
277
|
+
${(0, picocolors_1.green)(`✅ ${constants_1.codebuffConfigFile}: detected`)}`;
|
|
277
278
|
}
|
|
278
279
|
// Condition 2: Git repo not found
|
|
279
280
|
if (!hasGitRepo) {
|
|
280
281
|
return `${currentDirectoryLine}\n${(0, picocolors_1.yellow)('❌ Git repo: not found')}${' - navigate to a working directory!'}
|
|
281
282
|
${hasGitIgnore ? (0, picocolors_1.green)('✅ .gitignore: detected') : (0, picocolors_1.yellow)('❌ .gitignore: missing')}${gitignoreNote}
|
|
282
283
|
${hasKnowledgeMd ? (0, picocolors_1.green)('✅ knowledge.md: detected') : (0, picocolors_1.yellow)('❌ knowledge.md: missing')}${' — run "init" to fix'}
|
|
283
|
-
${hasCodebuffJson ? (0, picocolors_1.green)(
|
|
284
|
+
${hasCodebuffJson ? (0, picocolors_1.green)(`✅ ${constants_1.codebuffConfigFile}: detected`) : (0, picocolors_1.yellow)(`❌ ${constants_1.codebuffConfigFile}: missing`)}${' — run "init" to fix'}`;
|
|
284
285
|
}
|
|
285
286
|
// Condition 3: Missing .gitignore
|
|
286
287
|
if (!hasGitIgnore) {
|
|
287
288
|
return `${currentDirectoryLine}\n${(0, picocolors_1.green)('✅ Git repo: detected')}
|
|
288
289
|
${(0, picocolors_1.yellow)('❌ .gitignore: missing - type "generate a reasonable .gitignore"')}${gitignoreNote}
|
|
289
290
|
${hasKnowledgeMd ? (0, picocolors_1.green)('✅ knowledge.md: detected') : (0, picocolors_1.yellow)('❌ knowledge.md: missing')}
|
|
290
|
-
${hasCodebuffJson ? (0, picocolors_1.green)(
|
|
291
|
+
${hasCodebuffJson ? (0, picocolors_1.green)(`✅ ${constants_1.codebuffConfigFile}: detected`) : (0, picocolors_1.yellow)(`❌ ${constants_1.codebuffConfigFile}: missing`)}`;
|
|
291
292
|
}
|
|
292
293
|
// Condition 4: Missing knowledge files
|
|
293
294
|
return `${currentDirectoryLine}\n${(0, picocolors_1.green)('✅ Git repo: detected')}
|
|
294
295
|
${(0, picocolors_1.green)('✅ .gitignore: detected')}${gitignoreNote}
|
|
295
296
|
${!hasKnowledgeMd && !hasCodebuffJson
|
|
296
|
-
? (0, picocolors_1.yellow)(
|
|
297
|
+
? (0, picocolors_1.yellow)(`❌ knowledge.md & ${constants_1.codebuffConfigFile}: missing - type "init"`)
|
|
297
298
|
: !hasKnowledgeMd
|
|
298
299
|
? (0, picocolors_1.yellow)('❌ knowledge.md: missing - type "init"')
|
|
299
300
|
: !hasCodebuffJson
|
|
300
|
-
? (0, picocolors_1.yellow)(
|
|
301
|
-
: (0, picocolors_1.green)(
|
|
302
|
-
${hasKnowledgeMd && !hasCodebuffJson ? `\n${(0, picocolors_1.yellow)(
|
|
301
|
+
? (0, picocolors_1.yellow)(`❌ ${constants_1.codebuffConfigFile}: missing - type "init"`)
|
|
302
|
+
: (0, picocolors_1.green)(`✅ knowledge.md & ${constants_1.codebuffConfigFile}: detected`)}
|
|
303
|
+
${hasKnowledgeMd && !hasCodebuffJson ? `\n${(0, picocolors_1.yellow)(`${constants_1.codebuffConfigFile} runs deployment scripts for you to test your code and runs configured checks for you by running your dev server.`)}` : ''}
|
|
303
304
|
${!hasKnowledgeMd && hasCodebuffJson ? `\n${(0, picocolors_1.yellow)('knowledge.md helps Codebuff understand your project structure and codebase better for better results.')}` : ''}
|
|
304
|
-
${!hasKnowledgeMd && !hasCodebuffJson ? `\n${(0, picocolors_1.yellow)('knowledge.md helps Codebuff understand your project structure and codebase better for better results.')}\n${(0, picocolors_1.yellow)(
|
|
305
|
+
${!hasKnowledgeMd && !hasCodebuffJson ? `\n${(0, picocolors_1.yellow)('knowledge.md helps Codebuff understand your project structure and codebase better for better results.')}\n${(0, picocolors_1.yellow)(`${constants_1.codebuffConfigFile} runs deployment scripts for you to test your code and runs configured checks for you by running your dev server.`)}` : ''}`;
|
|
305
306
|
})());
|
|
306
307
|
// COMMUNITY & FEEDBACK SECTION
|
|
307
308
|
console.log(`\n${(0, picocolors_1.bold)((0, picocolors_1.underline)('COMMUNITY & FEEDBACK'))}`);
|
package/dist/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwKA,4CAIC;AAED,sEA6BC;AAED,0CA4CC;AAcD,kCAwIC;AA/YD,uCAAwB;AACxB,4CAAmB;AACnB,gDAAuB;AAGvB,2CAWmB;AAEnB,4DAAiE;AAEjE,mDAA0D;AAW7C,QAAA,yBAAyB,GAAkB;IACtD;QACE,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,0BAA0B;QACvC,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,EAAE,EAAE,wEAAwE;QACzF,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,2DAA2D;KAC5E;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,sCAAsC;QACnD,cAAc,EAAE,IAAI;KACrB;IACD;QACE,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,2BAA2B;QACxC,cAAc,EAAE,KAAK;KACtB;IACD;QACE,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,WAAW,EAAE,iCAAiC;QAC9C,cAAc,EAAE,IAAI;KACrB;IACD;QACE,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,gCAAgC;QAC7C,uEAAuE;KACxE;IACD;QACE,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,YAAY;QACzB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,kCAAkC;QAC/C,cAAc,EAAE,IAAI;KACrB;IACD;QACE,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,GAAG,EAAE,qDAAqD;QACvE,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,4BAA4B;QACzC,cAAc,EAAE,KAAK,EAAE,gCAAgC;KACxD;IACD;QACE,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE,mCAAmC;QAChD,2EAA2E;KAC5E;IACD;QACE,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,OAAO;QACpB,WAAW,EACT,+EAA+E;QACjF,cAAc,EAAE,IAAI;KACrB;IACD;QACE,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,qEAAqE;QAClF,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,WAAW;KACzB;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,qCAAqC;QAClD,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,UAAU;KACxB;IACD;QACE,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,mBAAmB;QAChC,cAAc,EAAE,KAAK;KACtB;IACD;QACE,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,kBAAkB;QAC/B,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,EAAE;KAChB,EAAE,mEAAmE;IACtE;QACE,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,yBAAyB;QACtC,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,EAAE;KAChB;IACD;QACE,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,uBAAuB;QACpC,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,EAAE;KAChB;IACD;QACE,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,yBAAyB;QACtC,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,EAAE;KAChB;IACD;QACE,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,wCAAwC;QACrD,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,EAAE;KAChB;IACD;QACE,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,uCAAuC;QACpD,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,EAAE;KAChB;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,kCAAkC;QAC/C,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,EAAE;KAChB;IACD;QACE,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,4CAA4C;QACzD,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,EAAE;KAChB;IACD;QACE,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,4CAA4C;QACzD,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,EAAE;KAChB;IACD;QACE,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,eAAe;QAC5B,cAAc,EAAE,IAAI;KACrB;CACF,CAAA;AAED,SAAgB,gBAAgB;IAC9B,OAAO,iCAAyB,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,WAAW,CAC/C,CAAA;AACH,CAAC;AAED,SAAgB,6BAA6B;IAC3C,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAA;IACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAM;IACR,CAAC;IAED,gEAAgE;IAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC/B,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAChF,OAAO,aAAa,CAAC,MAAM,CAAA;IAC7B,CAAC,CAAC,CACH,CAAA;IAED,2CAA2C;IAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACxC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAChF,sCAAsC;QACtC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACvE,OAAO,GAAG,IAAA,iBAAI,EAAC,aAAa,CAAC,IAAI,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,uCAAuC;IACvC,MAAM,QAAQ,GAAG,IAAA,iBAAI,EACnB,wEAAwE,CACzE,CAAA;IAED,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAA;AAC9D,CAAC;AAED,SAAgB,eAAe,CAAC,QAAkB,EAAE,QAAuB;IACzE,2CAA2C;IAC3C,MAAM,mBAAmB,GAAG;QAC1B,IAAI,EAAE,IAAA,iBAAI,EAAC,IAAA,mBAAM,EAAC,qDAAqD,CAAC,CAAC;QACzE,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,IAAA,iBAAI,EACP,IAAA,uBAAU,EAAC,qDAAqD,CAAC,CAClE;QACD,YAAY,EAAE,IAAA,iBAAI,EAAC,IAAA,oBAAO,EAAC,8BAA8B,CAAC,CAAC;QAC3D,GAAG,EAAE,IAAA,iBAAI,EAAC,IAAA,iBAAI,EAAC,yCAAyC,CAAC,CAAC;KAC3D,CAAA;IACD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,IAAA,wBAAQ,EAAC,IAAA,8BAAc,GAAE,EAAE,YAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CACV;;wBAEkB,IAAA,kBAAK,EAAC,IAAA,8BAAc,GAAE,CAAC;;;;;CAK9C,CAAC,IAAI,EAAE,CACH,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CACT,0CAA0C,IAAA,8BAAc,GAAE,wCAAwC,CACnG,CAAA;IACD,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,IAAA,8BAAc,GAAE,EAAE,MAAM,CAAC,CAAA;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CACV,IAAA,oBAAO,EACL,2IAA2I,CAC5I,CACF,CAAA;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CACT,YAAY,QAAQ,CAAC,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,8BAA8B,CAC9E,CAAA;AACH,CAAC;AAED,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,MAAM,SAAS,GAAG,CAAC,gBAAG,EAAE,kBAAK,EAAE,mBAAM,EAAE,iBAAI,EAAE,uBAAU,EAAE,oBAAO,EAAE,iBAAI,CAAC,CAAA;IACvE,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,SAAgB,WAAW;IACzB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IAClD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAE7C,MAAM,cAAc,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;QACtC,OAAO,IAAI;aACR,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,OAAO,GACX,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;YACnE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;IACb,CAAC,CAAA;IAED,OAAO,CAAC,GAAG,CAAC;EACZ,cAAc,CAAC,YAAY,CAAC;EAC5B,cAAc,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACvO,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACvO,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACvO,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACvO,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACvO,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;CACxO,CAAC,CAAA;IAEA,OAAO,CAAC,GAAG,CACT,KAAK,IAAA,iBAAI,EAAC,2GAA2G,CAAC,EAAE,CACzH,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,IAAA,iBAAI,EAAC,IAAA,sBAAS,EAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAA;IAEpD,OAAO,CAAC,GAAG,CACT,CAAC,GAAG,EAAE;QACJ,MAAM,oBAAoB,GAAG,GAAG,IAAA,kBAAK,EAAC,sBAAsB,CAAC,IAAI,IAAA,iBAAI,EAAC,IAAA,uBAAU,EAAC,IAAA,8BAAc,GAAE,CAAC,CAAC,EAAE,CAAA;QACrG,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,IAAA,8BAAc,GAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QACrE,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,CAChC,cAAI,CAAC,IAAI,CAAC,IAAA,8BAAc,GAAE,EAAE,YAAY,CAAC,CAC1C,CAAA;QACD,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAClC,cAAI,CAAC,IAAI,CAAC,IAAA,8BAAc,GAAE,EAAE,cAAc,CAAC,CAC5C,CAAA;QACD,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CACnC,cAAI,CAAC,IAAI,CAAC,IAAA,8BAAc,GAAE,EAAE,8BAAkB,CAAC,CAChD,CAAA;QACD,MAAM,aAAa,GACjB,kEAAkE,CAAA;QAEpE,iDAAiD;QACjD,IAAI,UAAU,IAAI,YAAY,IAAI,cAAc,IAAI,eAAe,EAAE,CAAC;YACpE,OAAO,GAAG,oBAAoB,KAAK,IAAA,kBAAK,EAAC,sBAAsB,CAAC;EACtE,IAAA,kBAAK,EAAC,wBAAwB,CAAC,GAAG,aAAa;EAC/C,IAAA,kBAAK,EAAC,0BAA0B,CAAC;EACjC,IAAA,kBAAK,EAAC,KAAK,8BAAkB,YAAY,CAAC,EAAE,CAAA;QACxC,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,GAAG,oBAAoB,KAAK,IAAA,mBAAM,EAAC,uBAAuB,CAAC,GAAG,qCAAqC;EAChH,YAAY,CAAC,CAAC,CAAC,IAAA,kBAAK,EAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAM,EAAC,uBAAuB,CAAC,GAAG,aAAa;EAChG,cAAc,CAAC,CAAC,CAAC,IAAA,kBAAK,EAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAM,EAAC,yBAAyB,CAAC,GAAG,sBAAsB;EAC/G,eAAe,CAAC,CAAC,CAAC,IAAA,kBAAK,EAAC,KAAK,8BAAkB,YAAY,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAM,EAAC,KAAK,8BAAkB,WAAW,CAAC,GAAG,sBAAsB,EAAE,CAAA;QAChI,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,GAAG,oBAAoB,KAAK,IAAA,kBAAK,EAAC,sBAAsB,CAAC;EACtE,IAAA,mBAAM,EAAC,iEAAiE,CAAC,GAAG,aAAa;EACzF,cAAc,CAAC,CAAC,CAAC,IAAA,kBAAK,EAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAM,EAAC,yBAAyB,CAAC;EACtF,eAAe,CAAC,CAAC,CAAC,IAAA,kBAAK,EAAC,KAAK,8BAAkB,YAAY,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAM,EAAC,KAAK,8BAAkB,WAAW,CAAC,EAAE,CAAA;QACvG,CAAC;QACD,uCAAuC;QACvC,OAAO,GAAG,oBAAoB,KAAK,IAAA,kBAAK,EAAC,sBAAsB,CAAC;EACpE,IAAA,kBAAK,EAAC,wBAAwB,CAAC,GAAG,aAAa;EAE/C,CAAC,cAAc,IAAI,CAAC,eAAe;YACjC,CAAC,CAAC,IAAA,mBAAM,EAAC,oBAAoB,8BAAkB,yBAAyB,CAAC;YACzE,CAAC,CAAC,CAAC,cAAc;gBACf,CAAC,CAAC,IAAA,mBAAM,EAAC,uCAAuC,CAAC;gBACjD,CAAC,CAAC,CAAC,eAAe;oBAChB,CAAC,CAAC,IAAA,mBAAM,EAAC,KAAK,8BAAkB,yBAAyB,CAAC;oBAC1D,CAAC,CAAC,IAAA,kBAAK,EAAC,oBAAoB,8BAAkB,YAAY,CAClE;EACE,cAAc,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,IAAA,mBAAM,EAAC,GAAG,8BAAkB,mHAAmH,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EACjM,CAAC,cAAc,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,IAAA,mBAAM,EAAC,uGAAuG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EAChK,CAAC,cAAc,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,IAAA,mBAAM,EAAC,uGAAuG,CAAC,KAAK,IAAA,mBAAM,EAAC,GAAG,8BAAkB,mHAAmH,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACtT,CAAC,CAAC,EAAE,CACL,CAAA;IAED,+BAA+B;IAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAA,iBAAI,EAAC,IAAA,sBAAS,EAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAA;IAC3D,OAAO,CAAC,GAAG,CACT,iFAAiF,IAAA,uBAAU,EAAC,uBAAuB,CAAC,EAAE,CACvH,CAAA;IACD,OAAO,CAAC,GAAG,CACT,qBAAqB,IAAA,uBAAU,EAAC,8BAA8B,CAAC,IAAI,IAAA,iBAAI,EAAC,IAAI,YAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,EAAE,CAClJ,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,IAAA,iBAAI,EAAC,IAAA,sBAAS,EAAC,iBAAiB,CAAC,CAAC;EACnD,eAAe;EACf,IAAA,iBAAI,EAAC,2CAA2C,CAAC;EACjD,IAAA,iBAAI,EAAC,uCAAuC,CAAC;EAC7C,IAAA,iBAAI,EAAC,6CAA6C,CAAC;;EAEnD,uBAAuB;EACvB,IAAA,iBAAI,EAAC,8CAA8C,CAAC;EACpD,IAAA,iBAAI,EAAC,6CAA6C,CAAC;;EAEnD,6BAA6B;EAC7B,IAAA,iBAAI,EAAC,oCAAoC,CAAC;EAC1C,IAAA,iBAAI,EAAC,wCAAwC,CAAC;EAC9C,IAAA,iBAAI,EAAC,mCAAmC,CAAC;;EAEzC,4BAA4B;EAC5B,IAAA,iBAAI,EAAC,2CAA2C,CAAC;EACjD,IAAA,iBAAI,EAAC,sCAAsC,CAAC;EAC5C,IAAA,iBAAI,EAAC,oCAAoC,CAAC;CAC3C,CAAC,CAAA;IAEA,+BAA+B;IAC/B,MAAM,iBAAiB,GAAG,EAAE,CAAA,CAAC,iCAAiC;IAE9D,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,WAAmB,EAAE,EAAE;QAClE,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC3D,OAAO,GAAG,aAAa,GAAG,WAAW,EAAE,CAAA;IACzC,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,iCAAyB;SACxC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,6DAA6D;SAC9F,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjE,OAAO,CAAC,GAAG,CACT,KAAK,IAAA,iBAAI,EAAC,IAAA,sBAAS,EAAC,6BAA6B,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC,GAAG,IAAA,iBAAI,EAAC,IAAA,sBAAS,EAAC,aAAa,CAAC,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC,IAAI,CACvK,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;AACzD,CAAC"}
|