codebuff 1.0.333 → 1.0.335
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/index.js +334 -0
- package/package.json +23 -72
- package/dist/__tests__/display.test.d.ts +0 -1
- package/dist/__tests__/display.test.js +0 -174
- package/dist/__tests__/display.test.js.map +0 -1
- package/dist/background-process-manager.d.ts +0 -50
- package/dist/background-process-manager.js +0 -364
- package/dist/background-process-manager.js.map +0 -1
- package/dist/browser-runner.d.ts +0 -35
- package/dist/browser-runner.js +0 -689
- package/dist/browser-runner.js.map +0 -1
- package/dist/chat-storage.d.ts +0 -2
- package/dist/chat-storage.js +0 -98
- package/dist/chat-storage.js.map +0 -1
- package/dist/checkpoints/checkpoint-manager.d.ts +0 -94
- package/dist/checkpoints/checkpoint-manager.js +0 -291
- package/dist/checkpoints/checkpoint-manager.js.map +0 -1
- package/dist/checkpoints/file-manager.d.ts +0 -72
- package/dist/checkpoints/file-manager.js +0 -495
- package/dist/checkpoints/file-manager.js.map +0 -1
- package/dist/cli-definitions.d.ts +0 -9
- package/dist/cli-definitions.js +0 -60
- package/dist/cli-definitions.js.map +0 -1
- package/dist/cli-handlers/api-key.d.ts +0 -25
- package/dist/cli-handlers/api-key.js +0 -66
- package/dist/cli-handlers/api-key.js.map +0 -1
- package/dist/cli-handlers/checkpoint.d.ts +0 -19
- package/dist/cli-handlers/checkpoint.js +0 -221
- package/dist/cli-handlers/checkpoint.js.map +0 -1
- package/dist/cli-handlers/diff.d.ts +0 -2
- package/dist/cli-handlers/diff.js +0 -31
- package/dist/cli-handlers/diff.js.map +0 -1
- package/dist/cli-handlers/easter-egg.d.ts +0 -1
- package/dist/cli-handlers/easter-egg.js +0 -126
- package/dist/cli-handlers/easter-egg.js.map +0 -1
- package/dist/cli-handlers/inititalization-flow.d.ts +0 -1
- package/dist/cli-handlers/inititalization-flow.js +0 -25
- package/dist/cli-handlers/inititalization-flow.js.map +0 -1
- package/dist/cli.d.ts +0 -67
- package/dist/cli.js +0 -777
- package/dist/cli.js.map +0 -1
- package/dist/client.d.ts +0 -91
- package/dist/client.js +0 -1112
- package/dist/client.js.map +0 -1
- package/dist/code-map/languages.d.ts +0 -12
- package/dist/code-map/languages.d.ts.map +0 -1
- package/dist/code-map/languages.js +0 -130
- package/dist/code-map/languages.js.map +0 -1
- package/dist/code-map/parse.d.ts +0 -22
- package/dist/code-map/parse.d.ts.map +0 -1
- package/dist/code-map/parse.js +0 -180
- package/dist/code-map/parse.js.map +0 -1
- package/dist/code-map/tree-sitter-queries/readme.md +0 -23
- package/dist/code-map/tree-sitter-queries/tree-sitter-c-tags.scm +0 -16
- package/dist/code-map/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +0 -23
- package/dist/code-map/tree-sitter-queries/tree-sitter-cpp-tags.scm +0 -29
- package/dist/code-map/tree-sitter-queries/tree-sitter-go-tags.scm +0 -26
- package/dist/code-map/tree-sitter-queries/tree-sitter-java-tags.scm +0 -19
- package/dist/code-map/tree-sitter-queries/tree-sitter-javascript-tags.scm +0 -16
- package/dist/code-map/tree-sitter-queries/tree-sitter-php-tags.scm +0 -23
- package/dist/code-map/tree-sitter-queries/tree-sitter-python-tags.scm +0 -12
- package/dist/code-map/tree-sitter-queries/tree-sitter-ruby-tags.scm +0 -58
- package/dist/code-map/tree-sitter-queries/tree-sitter-rust-tags.scm +0 -26
- package/dist/code-map/tree-sitter-queries/tree-sitter-typescript-tags.scm +0 -22
- package/dist/code-map/tsconfig.tsbuildinfo +0 -1
- package/dist/common/actions.d.ts +0 -1809
- package/dist/common/actions.d.ts.map +0 -1
- package/dist/common/actions.js +0 -140
- package/dist/common/actions.js.map +0 -1
- package/dist/common/analytics.d.ts +0 -6
- package/dist/common/analytics.d.ts.map +0 -1
- package/dist/common/analytics.js +0 -60
- package/dist/common/analytics.js.map +0 -1
- package/dist/common/api-keys/constants.d.ts +0 -9
- package/dist/common/api-keys/constants.d.ts.map +0 -1
- package/dist/common/api-keys/constants.js +0 -26
- package/dist/common/api-keys/constants.js.map +0 -1
- package/dist/common/api-keys/crypto.d.ts +0 -25
- package/dist/common/api-keys/crypto.d.ts.map +0 -1
- package/dist/common/api-keys/crypto.js +0 -186
- package/dist/common/api-keys/crypto.js.map +0 -1
- package/dist/common/browser-actions.d.ts +0 -4416
- package/dist/common/browser-actions.d.ts.map +0 -1
- package/dist/common/browser-actions.js +0 -343
- package/dist/common/browser-actions.js.map +0 -1
- package/dist/common/constants/analytics-events.d.ts +0 -29
- package/dist/common/constants/analytics-events.d.ts.map +0 -1
- package/dist/common/constants/analytics-events.js +0 -37
- package/dist/common/constants/analytics-events.js.map +0 -1
- package/dist/common/constants/grant-priorities.d.ts +0 -3
- package/dist/common/constants/grant-priorities.d.ts.map +0 -1
- package/dist/common/constants/grant-priorities.js +0 -11
- package/dist/common/constants/grant-priorities.js.map +0 -1
- package/dist/common/constants/tools.d.ts +0 -19
- package/dist/common/constants/tools.d.ts.map +0 -1
- package/dist/common/constants/tools.js +0 -45
- package/dist/common/constants/tools.js.map +0 -1
- package/dist/common/constants.d.ts +0 -149
- package/dist/common/constants.d.ts.map +0 -1
- package/dist/common/constants.js +0 -234
- package/dist/common/constants.js.map +0 -1
- package/dist/common/db/drizzle.config.d.ts +0 -3
- package/dist/common/db/drizzle.config.d.ts.map +0 -1
- package/dist/common/db/drizzle.config.js +0 -17
- package/dist/common/db/drizzle.config.js.map +0 -1
- package/dist/common/db/index.d.ts +0 -7
- package/dist/common/db/index.d.ts.map +0 -1
- package/dist/common/db/index.js +0 -35
- package/dist/common/db/index.js.map +0 -1
- package/dist/common/db/schema.d.ts +0 -2449
- package/dist/common/db/schema.d.ts.map +0 -1
- package/dist/common/db/schema.js +0 -310
- package/dist/common/db/schema.js.map +0 -1
- package/dist/common/db/transaction.d.ts +0 -13
- package/dist/common/db/transaction.d.ts.map +0 -1
- package/dist/common/db/transaction.js +0 -36
- package/dist/common/db/transaction.js.map +0 -1
- package/dist/common/json-config/__tests__/constants.test.d.ts +0 -2
- package/dist/common/json-config/__tests__/constants.test.d.ts.map +0 -1
- package/dist/common/json-config/__tests__/constants.test.js +0 -273
- package/dist/common/json-config/__tests__/constants.test.js.map +0 -1
- package/dist/common/json-config/__tests__/stringify-schema.test.d.ts +0 -2
- package/dist/common/json-config/__tests__/stringify-schema.test.d.ts.map +0 -1
- package/dist/common/json-config/__tests__/stringify-schema.test.js +0 -66
- package/dist/common/json-config/__tests__/stringify-schema.test.js.map +0 -1
- package/dist/common/json-config/constants.d.ts +0 -138
- package/dist/common/json-config/constants.d.ts.map +0 -1
- package/dist/common/json-config/constants.js +0 -78
- package/dist/common/json-config/constants.js.map +0 -1
- package/dist/common/json-config/default.d.ts +0 -3
- package/dist/common/json-config/default.d.ts.map +0 -1
- package/dist/common/json-config/default.js +0 -12
- package/dist/common/json-config/default.js.map +0 -1
- package/dist/common/json-config/stringify-schema.d.ts +0 -10
- package/dist/common/json-config/stringify-schema.d.ts.map +0 -1
- package/dist/common/json-config/stringify-schema.js +0 -131
- package/dist/common/json-config/stringify-schema.js.map +0 -1
- package/dist/common/project-file-tree.d.ts +0 -12
- package/dist/common/project-file-tree.d.ts.map +0 -1
- package/dist/common/project-file-tree.js +0 -212
- package/dist/common/project-file-tree.js.map +0 -1
- package/dist/common/types/agent-state.d.ts +0 -265
- package/dist/common/types/agent-state.d.ts.map +0 -1
- package/dist/common/types/agent-state.js +0 -48
- package/dist/common/types/agent-state.js.map +0 -1
- package/dist/common/types/grant.d.ts +0 -3
- package/dist/common/types/grant.d.ts.map +0 -1
- package/dist/common/types/grant.js +0 -11
- package/dist/common/types/grant.js.map +0 -1
- package/dist/common/types/message.d.ts +0 -320
- package/dist/common/types/message.d.ts.map +0 -1
- package/dist/common/types/message.js +0 -60
- package/dist/common/types/message.js.map +0 -1
- package/dist/common/types/organization.d.ts +0 -106
- package/dist/common/types/organization.d.ts.map +0 -1
- package/dist/common/types/organization.js +0 -3
- package/dist/common/types/organization.js.map +0 -1
- package/dist/common/types/referral.d.ts +0 -3
- package/dist/common/types/referral.d.ts.map +0 -1
- package/dist/common/types/referral.js +0 -5
- package/dist/common/types/referral.js.map +0 -1
- package/dist/common/types/tools.d.ts +0 -6
- package/dist/common/types/tools.d.ts.map +0 -1
- package/dist/common/types/tools.js +0 -3
- package/dist/common/types/tools.js.map +0 -1
- package/dist/common/types/usage.d.ts +0 -41
- package/dist/common/types/usage.d.ts.map +0 -1
- package/dist/common/types/usage.js +0 -16
- package/dist/common/types/usage.js.map +0 -1
- package/dist/common/util/__tests__/messages.test.d.ts +0 -2
- package/dist/common/util/__tests__/messages.test.d.ts.map +0 -1
- package/dist/common/util/__tests__/messages.test.js +0 -70
- package/dist/common/util/__tests__/messages.test.js.map +0 -1
- package/dist/common/util/__tests__/saxy.test.d.ts +0 -2
- package/dist/common/util/__tests__/saxy.test.d.ts.map +0 -1
- package/dist/common/util/__tests__/saxy.test.js +0 -906
- package/dist/common/util/__tests__/saxy.test.js.map +0 -1
- package/dist/common/util/__tests__/string.test.d.ts +0 -2
- package/dist/common/util/__tests__/string.test.d.ts.map +0 -1
- package/dist/common/util/__tests__/string.test.js +0 -82
- package/dist/common/util/__tests__/string.test.js.map +0 -1
- package/dist/common/util/array.d.ts +0 -7
- package/dist/common/util/array.d.ts.map +0 -1
- package/dist/common/util/array.js +0 -32
- package/dist/common/util/array.js.map +0 -1
- package/dist/common/util/changes.d.ts +0 -9
- package/dist/common/util/changes.d.ts.map +0 -1
- package/dist/common/util/changes.js +0 -87
- package/dist/common/util/changes.js.map +0 -1
- package/dist/common/util/credentials.d.ts +0 -26
- package/dist/common/util/credentials.d.ts.map +0 -1
- package/dist/common/util/credentials.js +0 -24
- package/dist/common/util/credentials.js.map +0 -1
- package/dist/common/util/currency.d.ts +0 -15
- package/dist/common/util/currency.d.ts.map +0 -1
- package/dist/common/util/currency.js +0 -23
- package/dist/common/util/currency.js.map +0 -1
- package/dist/common/util/dates.d.ts +0 -11
- package/dist/common/util/dates.d.ts.map +0 -1
- package/dist/common/util/dates.js +0 -22
- package/dist/common/util/dates.js.map +0 -1
- package/dist/common/util/file.d.ts +0 -171
- package/dist/common/util/file.d.ts.map +0 -1
- package/dist/common/util/file.js +0 -216
- package/dist/common/util/file.js.map +0 -1
- package/dist/common/util/git.d.ts +0 -7
- package/dist/common/util/git.d.ts.map +0 -1
- package/dist/common/util/git.js +0 -81
- package/dist/common/util/git.js.map +0 -1
- package/dist/common/util/logger.d.ts +0 -9
- package/dist/common/util/logger.d.ts.map +0 -1
- package/dist/common/util/logger.js +0 -52
- package/dist/common/util/logger.js.map +0 -1
- package/dist/common/util/lru-cache.d.ts +0 -31
- package/dist/common/util/lru-cache.d.ts.map +0 -1
- package/dist/common/util/lru-cache.js +0 -68
- package/dist/common/util/lru-cache.js.map +0 -1
- package/dist/common/util/messages.d.ts +0 -12
- package/dist/common/util/messages.d.ts.map +0 -1
- package/dist/common/util/messages.js +0 -81
- package/dist/common/util/messages.js.map +0 -1
- package/dist/common/util/min-heap.d.ts +0 -16
- package/dist/common/util/min-heap.d.ts.map +0 -1
- package/dist/common/util/min-heap.js +0 -73
- package/dist/common/util/min-heap.js.map +0 -1
- package/dist/common/util/object.d.ts +0 -19
- package/dist/common/util/object.d.ts.map +0 -1
- package/dist/common/util/object.js +0 -91
- package/dist/common/util/object.js.map +0 -1
- package/dist/common/util/patch.d.ts +0 -2
- package/dist/common/util/patch.d.ts.map +0 -1
- package/dist/common/util/patch.js +0 -215
- package/dist/common/util/patch.js.map +0 -1
- package/dist/common/util/promise.d.ts +0 -17
- package/dist/common/util/promise.d.ts.map +0 -1
- package/dist/common/util/promise.js +0 -51
- package/dist/common/util/promise.js.map +0 -1
- package/dist/common/util/random.d.ts +0 -2
- package/dist/common/util/random.d.ts.map +0 -1
- package/dist/common/util/random.js +0 -17
- package/dist/common/util/random.js.map +0 -1
- package/dist/common/util/referral.d.ts +0 -2
- package/dist/common/util/referral.d.ts.map +0 -1
- package/dist/common/util/referral.js +0 -6
- package/dist/common/util/referral.js.map +0 -1
- package/dist/common/util/saxy.d.ts +0 -179
- package/dist/common/util/saxy.d.ts.map +0 -1
- package/dist/common/util/saxy.js +0 -548
- package/dist/common/util/saxy.js.map +0 -1
- package/dist/common/util/string.d.ts +0 -80
- package/dist/common/util/string.d.ts.map +0 -1
- package/dist/common/util/string.js +0 -275
- package/dist/common/util/string.js.map +0 -1
- package/dist/common/util/stripe.d.ts +0 -4
- package/dist/common/util/stripe.d.ts.map +0 -1
- package/dist/common/util/stripe.js +0 -22
- package/dist/common/util/stripe.js.map +0 -1
- package/dist/common/util/sync-failure.d.ts +0 -2
- package/dist/common/util/sync-failure.d.ts.map +0 -1
- package/dist/common/util/sync-failure.js +0 -57
- package/dist/common/util/sync-failure.js.map +0 -1
- package/dist/common/websockets/websocket-client.d.ts +0 -43
- package/dist/common/websockets/websocket-client.d.ts.map +0 -1
- package/dist/common/websockets/websocket-client.js +0 -216
- package/dist/common/websockets/websocket-client.js.map +0 -1
- package/dist/common/websockets/websocket-schema.d.ts +0 -3679
- package/dist/common/websockets/websocket-schema.d.ts.map +0 -1
- package/dist/common/websockets/websocket-schema.js +0 -55
- package/dist/common/websockets/websocket-schema.js.map +0 -1
- package/dist/config.d.ts +0 -4
- package/dist/config.js +0 -12
- package/dist/config.js.map +0 -1
- package/dist/create-template-project.d.ts +0 -1
- package/dist/create-template-project.js +0 -131
- package/dist/create-template-project.js.map +0 -1
- package/dist/credentials.d.ts +0 -4
- package/dist/credentials.js +0 -44
- package/dist/credentials.js.map +0 -1
- package/dist/dev-process-manager.d.ts +0 -10
- package/dist/dev-process-manager.js +0 -56
- package/dist/dev-process-manager.js.map +0 -1
- package/dist/display.d.ts +0 -9
- package/dist/display.js +0 -137
- package/dist/display.js.map +0 -1
- package/dist/fingerprint.d.ts +0 -1
- package/dist/fingerprint.js +0 -48
- package/dist/fingerprint.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -125
- package/dist/index.js.map +0 -1
- package/dist/json-config/hooks.d.ts +0 -9
- package/dist/json-config/hooks.js +0 -60
- package/dist/json-config/hooks.js.map +0 -1
- package/dist/json-config/parser.d.ts +0 -7
- package/dist/json-config/parser.js +0 -54
- package/dist/json-config/parser.js.map +0 -1
- package/dist/menu.d.ts +0 -14
- package/dist/menu.js +0 -344
- package/dist/menu.js.map +0 -1
- package/dist/project-files.d.ts +0 -104
- package/dist/project-files.js +0 -621
- package/dist/project-files.js.map +0 -1
- package/dist/startup-process-handler.d.ts +0 -1
- package/dist/startup-process-handler.js +0 -25
- package/dist/startup-process-handler.js.map +0 -1
- package/dist/terminal/background.d.ts +0 -12
- package/dist/terminal/background.js +0 -148
- package/dist/terminal/background.js.map +0 -1
- package/dist/terminal/base.d.ts +0 -41
- package/dist/terminal/base.js +0 -553
- package/dist/terminal/base.js.map +0 -1
- package/dist/tool-handlers.d.ts +0 -31
- package/dist/tool-handlers.js +0 -275
- package/dist/tool-handlers.js.map +0 -1
- package/dist/types.d.ts +0 -15
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/update-codebuff.d.ts +0 -1
- package/dist/update-codebuff.js +0 -169
- package/dist/update-codebuff.js.map +0 -1
- package/dist/utils/__tests__/background-process-manager.test.d.ts +0 -1
- package/dist/utils/__tests__/background-process-manager.test.js +0 -327
- package/dist/utils/__tests__/background-process-manager.test.js.map +0 -1
- package/dist/utils/__tests__/response-example-4-files.txt +0 -621
- package/dist/utils/__tests__/tool-renderers.test.d.ts +0 -1
- package/dist/utils/__tests__/tool-renderers.test.js +0 -83
- package/dist/utils/__tests__/tool-renderers.test.js.map +0 -1
- package/dist/utils/__tests__/xml-stream-parser.test.d.ts +0 -1
- package/dist/utils/__tests__/xml-stream-parser.test.js +0 -255
- package/dist/utils/__tests__/xml-stream-parser.test.js.map +0 -1
- package/dist/utils/analytics.d.ts +0 -7
- package/dist/utils/analytics.js +0 -132
- package/dist/utils/analytics.js.map +0 -1
- package/dist/utils/detect-shell.d.ts +0 -1
- package/dist/utils/detect-shell.js +0 -65
- package/dist/utils/detect-shell.js.map +0 -1
- package/dist/utils/git.d.ts +0 -13
- package/dist/utils/git.js +0 -143
- package/dist/utils/git.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -21
- package/dist/utils/logger.js +0 -109
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/spinner.d.ts +0 -12
- package/dist/utils/spinner.js +0 -85
- package/dist/utils/spinner.js.map +0 -1
- package/dist/utils/system-info.d.ts +0 -8
- package/dist/utils/system-info.js +0 -22
- package/dist/utils/system-info.js.map +0 -1
- package/dist/utils/tool-renderers.d.ts +0 -16
- package/dist/utils/tool-renderers.js +0 -216
- package/dist/utils/tool-renderers.js.map +0 -1
- package/dist/utils/xml-stream-parser.d.ts +0 -9
- package/dist/utils/xml-stream-parser.js +0 -143
- package/dist/utils/xml-stream-parser.js.map +0 -1
- package/dist/web-scraper.d.ts +0 -3
- package/dist/web-scraper.js +0 -59
- package/dist/web-scraper.js.map +0 -1
- package/dist/workers/checkpoint-worker.d.ts +0 -1
- package/dist/workers/checkpoint-worker.js +0 -51
- package/dist/workers/checkpoint-worker.js.map +0 -1
- package/dist/workers/project-context.d.ts +0 -1
- package/dist/workers/project-context.js +0 -27
- package/dist/workers/project-context.js.map +0 -1
package/dist/index.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
process.env.NEXT_PUBLIC_STRIPE_CUSTOMER_PORTAL = 'https://billing.stripe.com/p/login/cN22bea8W6Ra2is144';
|
|
3
|
-
process.env.NEXT_PUBLIC_POSTHOG_API_KEY = 'phc_tug7g8yc10qNestK14QV8WyKwjfEl6vwzIbJkBdqeHS';
|
|
4
|
-
process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
|
|
5
|
-
process.env.NEXT_PUBLIC_APP_URL = 'https://codebuff.com';
|
|
6
|
-
process.env.NEXT_PUBLIC_CB_ENVIRONMENT = 'prod';
|
|
7
|
-
process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
|
|
8
|
-
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com';
|
|
9
|
-
process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY = 'pk_live_51Q0SA5KrNS6SjmqWMgRE0ar5v6cMvtizkyY3mXjYaZsU6AG9ctpNPKZMVf6xFK2ngqwkt8rHNIQgNiCFSbRdGb9Z00QEo13rfx';
|
|
10
|
-
process.env.NEXT_PUBLIC_LINKEDIN_PARTNER_ID = '6771996';
|
|
11
|
-
"use strict";
|
|
12
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
-
};
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
const commander_1 = require("commander");
|
|
17
|
-
const picocolors_1 = require("picocolors");
|
|
18
|
-
const package_json_1 = __importDefault(require("../package.json"));
|
|
19
|
-
const cli_1 = require("./cli");
|
|
20
|
-
const cli_definitions_1 = require("./cli-definitions");
|
|
21
|
-
const create_template_project_1 = require("./create-template-project");
|
|
22
|
-
const display_1 = require("./display");
|
|
23
|
-
const project_files_1 = require("./project-files");
|
|
24
|
-
const startup_process_handler_1 = require("./startup-process-handler");
|
|
25
|
-
const base_1 = require("./terminal/base");
|
|
26
|
-
const update_codebuff_1 = require("./update-codebuff");
|
|
27
|
-
const analytics_1 = require("./utils/analytics");
|
|
28
|
-
const git_1 = require("./utils/git");
|
|
29
|
-
const logger_1 = require("./utils/logger");
|
|
30
|
-
async function codebuff(projectDir, { initialInput, git, costMode, runInitFlow, model }) {
|
|
31
|
-
(0, display_1.enableSquashNewlines)();
|
|
32
|
-
// Initialize starting directory
|
|
33
|
-
const { cwd, shouldSearch } = (0, project_files_1.getStartingDirectory)(projectDir);
|
|
34
|
-
const gitRoot = shouldSearch ? (0, git_1.findGitRoot)(cwd) ?? cwd : cwd;
|
|
35
|
-
const projectRoot = (0, project_files_1.setProjectRoot)(gitRoot);
|
|
36
|
-
(0, project_files_1.setWorkingDirectory)(cwd);
|
|
37
|
-
(0, base_1.recreateShell)(cwd);
|
|
38
|
-
// Kill all processes we failed to kill before
|
|
39
|
-
const processCleanupPromise = (0, startup_process_handler_1.logAndHandleStartup)();
|
|
40
|
-
(0, analytics_1.initAnalytics)();
|
|
41
|
-
const updatePromise = (0, update_codebuff_1.updateCodebuff)();
|
|
42
|
-
const initFileContextPromise = (0, project_files_1.initProjectFileContextWithWorker)(projectRoot);
|
|
43
|
-
const readyPromise = Promise.all([
|
|
44
|
-
initFileContextPromise,
|
|
45
|
-
updatePromise,
|
|
46
|
-
processCleanupPromise,
|
|
47
|
-
]);
|
|
48
|
-
// Initialize the CLI singleton
|
|
49
|
-
cli_1.CLI.initialize(readyPromise, { git, costMode, model });
|
|
50
|
-
const cli = cli_1.CLI.getInstance();
|
|
51
|
-
await cli.printInitialPrompt({ initialInput, runInitFlow });
|
|
52
|
-
}
|
|
53
|
-
if (require.main === module) {
|
|
54
|
-
const program = new commander_1.Command();
|
|
55
|
-
program.name('codebuff').version(package_json_1.default.version);
|
|
56
|
-
// Add arguments from shared definitions
|
|
57
|
-
cli_definitions_1.cliArguments.forEach((arg) => {
|
|
58
|
-
// For hidden arguments, just skip adding them to the help text
|
|
59
|
-
if (!arg.hidden) {
|
|
60
|
-
program.argument(arg.flags, arg.description);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
// Add options from shared definitions
|
|
64
|
-
cli_definitions_1.cliOptions.forEach((opt) => {
|
|
65
|
-
const optionInstance = new commander_1.Option(opt.flags, opt.description);
|
|
66
|
-
if (opt.hidden) {
|
|
67
|
-
optionInstance.hideHelp(true);
|
|
68
|
-
}
|
|
69
|
-
program.addOption(optionInstance);
|
|
70
|
-
});
|
|
71
|
-
program.addHelpText('after', `
|
|
72
|
-
Examples:
|
|
73
|
-
$ codebuff # Start in current directory
|
|
74
|
-
$ codebuff my-project # Start in specific directory
|
|
75
|
-
$ codebuff --create nextjs my-app # Create and scaffold a new Next.js project
|
|
76
|
-
|
|
77
|
-
For all commands and options, run 'codebuff' and then type 'help'.
|
|
78
|
-
`);
|
|
79
|
-
program.parse();
|
|
80
|
-
const options = program.opts();
|
|
81
|
-
const args = program.args;
|
|
82
|
-
// Handle template creation
|
|
83
|
-
if (options.create) {
|
|
84
|
-
const template = options.create;
|
|
85
|
-
const projectDir = args[0] || '.';
|
|
86
|
-
const projectName = args[1] || template;
|
|
87
|
-
(0, create_template_project_1.createTemplateProject)(template, projectDir, projectName);
|
|
88
|
-
process.exit(0);
|
|
89
|
-
}
|
|
90
|
-
// Handle deprecated --pro flag
|
|
91
|
-
if (options.pro) {
|
|
92
|
-
console.error((0, picocolors_1.red)('Warning: The --pro flag is deprecated. Please restart codebuff and use the --max option instead.'));
|
|
93
|
-
logger_1.logger.error({
|
|
94
|
-
errorMessage: 'The --pro flag is deprecated. Please restart codebuff and use the --max option instead.',
|
|
95
|
-
}, 'Deprecated --pro flag used');
|
|
96
|
-
process.exit(1);
|
|
97
|
-
}
|
|
98
|
-
// Determine cost mode
|
|
99
|
-
let costMode = 'normal';
|
|
100
|
-
if (options.lite) {
|
|
101
|
-
costMode = 'lite';
|
|
102
|
-
}
|
|
103
|
-
else if (options.max) {
|
|
104
|
-
costMode = 'max';
|
|
105
|
-
}
|
|
106
|
-
else if (options.experimental) {
|
|
107
|
-
costMode = 'experimental';
|
|
108
|
-
}
|
|
109
|
-
else if (options.ask) {
|
|
110
|
-
costMode = 'ask';
|
|
111
|
-
}
|
|
112
|
-
// Handle git integration
|
|
113
|
-
const git = options.git === 'stage' ? 'stage' : undefined;
|
|
114
|
-
// Get project directory and initial input
|
|
115
|
-
const projectPath = args[0];
|
|
116
|
-
const initialInput = args.slice(1).join(' ');
|
|
117
|
-
codebuff(projectPath, {
|
|
118
|
-
initialInput,
|
|
119
|
-
git,
|
|
120
|
-
costMode,
|
|
121
|
-
runInitFlow: options.init,
|
|
122
|
-
model: options.model,
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
-
}>;
|
|
@@ -1,60 +0,0 @@
|
|
|
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 base_1 = require("../terminal/base");
|
|
11
|
-
const logger_1 = require("../utils/logger");
|
|
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, base_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
|
-
toolName: hookName,
|
|
45
|
-
toolCallId: 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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/json-config/hooks.ts"],"names":[],"mappings":";;;;;AAaA,gDA4DC;AAxED,+CAAsD;AACtD,4DAAmC;AAEnC,oDAAiD;AACjD,2CAAqD;AACrD,4CAAwC;AACxC,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,yBAAkB,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,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,MAAM;gBAClB,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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
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;
|
|
@@ -1,54 +0,0 @@
|
|
|
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 default_1 = require("../common/json-config/default");
|
|
13
|
-
const project_files_1 = require("../project-files");
|
|
14
|
-
/**
|
|
15
|
-
* Loads and validates the configuration file from the project directory.
|
|
16
|
-
* @param projectPath - The root directory of the project
|
|
17
|
-
* @returns The parsed and validated configuration, or null if no valid config exists
|
|
18
|
-
*/
|
|
19
|
-
function loadCodebuffConfig() {
|
|
20
|
-
const projectPath = (0, project_files_1.getProjectRoot)();
|
|
21
|
-
const configPathPrimary = path_1.default.join(projectPath, constants_1.codebuffConfigFile);
|
|
22
|
-
const configPathBackup = path_1.default.join(projectPath, constants_1.codebuffConfigFileBackup);
|
|
23
|
-
const configPath = (0, fs_1.existsSync)(configPathBackup)
|
|
24
|
-
? configPathBackup
|
|
25
|
-
: (0, fs_1.existsSync)(configPathPrimary)
|
|
26
|
-
? configPathPrimary
|
|
27
|
-
: null;
|
|
28
|
-
if (configPath === null) {
|
|
29
|
-
return (0, default_1.getDefaultConfig)();
|
|
30
|
-
}
|
|
31
|
-
try {
|
|
32
|
-
const jsoncContent = (0, fs_1.readFileSync)(configPath, 'utf-8');
|
|
33
|
-
const parsedConfig = (0, jsonc_parser_1.parse)(jsoncContent);
|
|
34
|
-
const result = constants_1.CodebuffConfigSchema.safeParse(parsedConfig);
|
|
35
|
-
if (!result.success) {
|
|
36
|
-
console.warn((0, picocolors_1.yellow)(`Warning: Invalid ${constants_1.codebuffConfigFile} configuration. Please check the schema:\n` +
|
|
37
|
-
result.error.errors
|
|
38
|
-
.map((err) => `- ${err.path.join('.')}: ${err.message}`)
|
|
39
|
-
.join('\n')));
|
|
40
|
-
return (0, default_1.getDefaultConfig)();
|
|
41
|
-
}
|
|
42
|
-
return result.data;
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
if (error instanceof SyntaxError) {
|
|
46
|
-
console.warn((0, picocolors_1.yellow)(`Warning: Invalid JSON in ${constants_1.codebuffConfigFile}. Please check the syntax.`));
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
console.warn((0, picocolors_1.yellow)(`Warning: Error reading ${constants_1.codebuffConfigFile} configuration file.`));
|
|
50
|
-
}
|
|
51
|
-
return (0, default_1.getDefaultConfig)();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/json-config/parser.ts"],"names":[],"mappings":";;;;;AAoBA,gDAiDC;AArED,2BAA6C;AAC7C,gDAAuB;AAEvB,+CAAkD;AAClD,2CAAmC;AAEnC,4DAKqC;AACrC,wDAA6D;AAC7D,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,IAAA,0BAAgB,GAAE,CAAA;IAC3B,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,IAAA,0BAAgB,GAAE,CAAA;QAC3B,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,IAAA,0BAAgB,GAAE,CAAA;IAC3B,CAAC;AACH,CAAC"}
|
package/dist/menu.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { CostMode } from './common/constants';
|
|
2
|
-
export interface CommandInfo {
|
|
3
|
-
commandText: string;
|
|
4
|
-
description: string;
|
|
5
|
-
baseCommand?: string;
|
|
6
|
-
params?: string;
|
|
7
|
-
isSlashCommand?: boolean;
|
|
8
|
-
aliases?: string[];
|
|
9
|
-
}
|
|
10
|
-
export declare const interactiveCommandDetails: CommandInfo[];
|
|
11
|
-
export declare function getSlashCommands(): CommandInfo[];
|
|
12
|
-
export declare function displaySlashCommandHelperMenu(): void;
|
|
13
|
-
export declare function displayGreeting(costMode: CostMode, username: string | null): void;
|
|
14
|
-
export declare function displayMenu(): void;
|
package/dist/menu.js
DELETED
|
@@ -1,344 +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.interactiveCommandDetails = void 0;
|
|
30
|
-
exports.getSlashCommands = getSlashCommands;
|
|
31
|
-
exports.displaySlashCommandHelperMenu = displaySlashCommandHelperMenu;
|
|
32
|
-
exports.displayGreeting = displayGreeting;
|
|
33
|
-
exports.displayMenu = displayMenu;
|
|
34
|
-
const fs = __importStar(require("fs"));
|
|
35
|
-
const os_1 = __importDefault(require("os"));
|
|
36
|
-
const path_1 = __importDefault(require("path"));
|
|
37
|
-
const picocolors_1 = require("picocolors");
|
|
38
|
-
const constants_1 = require("./common/json-config/constants");
|
|
39
|
-
const file_1 = require("./common/util/file");
|
|
40
|
-
const project_files_1 = require("./project-files");
|
|
41
|
-
exports.interactiveCommandDetails = [
|
|
42
|
-
{
|
|
43
|
-
baseCommand: 'help',
|
|
44
|
-
description: 'Display help information',
|
|
45
|
-
isSlashCommand: true,
|
|
46
|
-
commandText: '', // Empty commandText ensures it's not shown in the main interactive list
|
|
47
|
-
aliases: ['h'], // Optional: if you want /h to also work for tab completion
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
commandText: '"init"',
|
|
51
|
-
baseCommand: 'init',
|
|
52
|
-
description: 'Configure project for better results',
|
|
53
|
-
isSlashCommand: true,
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
commandText: '"login"',
|
|
57
|
-
baseCommand: 'login',
|
|
58
|
-
description: 'Authenticate your session',
|
|
59
|
-
isSlashCommand: false,
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
commandText: '"diff" or "d"',
|
|
63
|
-
baseCommand: 'diff',
|
|
64
|
-
aliases: ['d'],
|
|
65
|
-
description: 'Show last assistant change diff',
|
|
66
|
-
isSlashCommand: true,
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
commandText: '"undo" / "redo"',
|
|
70
|
-
description: 'Revert or re-apply last change',
|
|
71
|
-
// This entry will be expanded into two slash commands: /undo and /redo
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
commandText: '"checkpoint <id>"',
|
|
75
|
-
baseCommand: 'checkpoint',
|
|
76
|
-
params: '<id>',
|
|
77
|
-
description: 'Restore to a specific checkpoint',
|
|
78
|
-
isSlashCommand: true,
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
commandText: '"!<cmd>"',
|
|
82
|
-
baseCommand: '!', // Or handle this specially, e.g. baseCommand 'shell'
|
|
83
|
-
params: '<cmd>',
|
|
84
|
-
description: 'Run shell command directly',
|
|
85
|
-
isSlashCommand: false, // e.g. /! <cmd> or /shell <cmd>
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
commandText: '"usage" or "credits"',
|
|
89
|
-
description: 'View remaining / bonus AI credits',
|
|
90
|
-
// This entry will be expanded into two slash commands: /usage and /credits
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
commandText: '"reset"',
|
|
94
|
-
baseCommand: 'reset',
|
|
95
|
-
description: 'Reset the conversation history, as if you just started a new Codebuff session',
|
|
96
|
-
isSlashCommand: true,
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
baseCommand: 'compact',
|
|
100
|
-
description: 'Replace the conversation history with a summary and free up context',
|
|
101
|
-
isSlashCommand: true,
|
|
102
|
-
commandText: '"compact"',
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
baseCommand: 'export',
|
|
106
|
-
description: 'Export conversation summary to file',
|
|
107
|
-
isSlashCommand: true,
|
|
108
|
-
commandText: '"export"',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
commandText: 'ESC key or Ctrl-C',
|
|
112
|
-
description: 'Cancel generation',
|
|
113
|
-
isSlashCommand: false,
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
baseCommand: 'undo',
|
|
117
|
-
description: 'Undo last change',
|
|
118
|
-
isSlashCommand: true,
|
|
119
|
-
commandText: '',
|
|
120
|
-
}, // commandText empty as it's covered by "undo / redo" for main menu
|
|
121
|
-
{
|
|
122
|
-
baseCommand: 'redo',
|
|
123
|
-
description: 'Redo last undone change',
|
|
124
|
-
isSlashCommand: true,
|
|
125
|
-
commandText: '',
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
baseCommand: 'usage',
|
|
129
|
-
description: 'View AI credits usage',
|
|
130
|
-
isSlashCommand: true,
|
|
131
|
-
commandText: '',
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
baseCommand: 'credits',
|
|
135
|
-
description: 'View AI credits balance',
|
|
136
|
-
isSlashCommand: false,
|
|
137
|
-
commandText: '',
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
baseCommand: 'ask',
|
|
141
|
-
description: "Switch to ask mode (won't modify code)",
|
|
142
|
-
isSlashCommand: true,
|
|
143
|
-
commandText: '',
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
baseCommand: 'lite',
|
|
147
|
-
description: 'Switch to lite mode (faster, cheaper)',
|
|
148
|
-
isSlashCommand: true,
|
|
149
|
-
commandText: '',
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
baseCommand: 'normal',
|
|
153
|
-
description: 'Switch to normal mode (balanced)',
|
|
154
|
-
isSlashCommand: true,
|
|
155
|
-
commandText: '',
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
baseCommand: 'max',
|
|
159
|
-
description: 'Switch to max mode (slower, more thorough)',
|
|
160
|
-
isSlashCommand: true,
|
|
161
|
-
commandText: '',
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
baseCommand: 'experimental',
|
|
165
|
-
description: 'Switch to experimental mode (cutting-edge)',
|
|
166
|
-
isSlashCommand: false,
|
|
167
|
-
commandText: '',
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
commandText: '"exit" or Ctrl-C x2',
|
|
171
|
-
baseCommand: 'exit',
|
|
172
|
-
description: 'Quit Codebuff',
|
|
173
|
-
isSlashCommand: true,
|
|
174
|
-
},
|
|
175
|
-
];
|
|
176
|
-
function getSlashCommands() {
|
|
177
|
-
return exports.interactiveCommandDetails.filter((cmd) => cmd.isSlashCommand && cmd.baseCommand);
|
|
178
|
-
}
|
|
179
|
-
function displaySlashCommandHelperMenu() {
|
|
180
|
-
const commands = getSlashCommands();
|
|
181
|
-
if (commands.length === 0) {
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
// Calculate the maximum length of command strings for alignment
|
|
185
|
-
const maxCommandLength = Math.max(...commands.map((cmd) => {
|
|
186
|
-
const commandString = `/${cmd.baseCommand}${cmd.params ? ` ${cmd.params}` : ''}`;
|
|
187
|
-
return commandString.length;
|
|
188
|
-
}));
|
|
189
|
-
// Format each command with its description
|
|
190
|
-
const commandLines = commands.map((cmd) => {
|
|
191
|
-
const commandString = `/${cmd.baseCommand}${cmd.params ? ` ${cmd.params}` : ''}`;
|
|
192
|
-
// Pad with dots to align descriptions
|
|
193
|
-
const padding = '.'.repeat(maxCommandLength - commandString.length + 3);
|
|
194
|
-
return `${(0, picocolors_1.cyan)(commandString)} ${padding} ${cmd.description}`;
|
|
195
|
-
});
|
|
196
|
-
// Add the shell command tip at the end
|
|
197
|
-
const shellTip = (0, picocolors_1.gray)('Tip: Type "!" followed by a command to run it in your shell, e.g., !ls');
|
|
198
|
-
// Print with consistent spacing
|
|
199
|
-
console.log(`\n\n${commandLines.join('\n')}\n${shellTip}\n`);
|
|
200
|
-
}
|
|
201
|
-
function displayGreeting(costMode, username) {
|
|
202
|
-
// Show extra info only for logged in users
|
|
203
|
-
const costModeDescription = {
|
|
204
|
-
lite: (0, picocolors_1.bold)((0, picocolors_1.yellow)('Lite mode ✨ enabled (switch modes by typing in "/")')),
|
|
205
|
-
normal: '',
|
|
206
|
-
max: (0, picocolors_1.bold)((0, picocolors_1.blueBright)('Max mode️ ⚡ enabled (switch modes by typing in "/")')),
|
|
207
|
-
experimental: (0, picocolors_1.bold)((0, picocolors_1.magenta)('Experimental mode 🧪 enabled')),
|
|
208
|
-
ask: (0, picocolors_1.bold)((0, picocolors_1.cyan)("Ask mode 💬 enabled (won't modify code)")),
|
|
209
|
-
};
|
|
210
|
-
if (costModeDescription[costMode]) {
|
|
211
|
-
console.log(`${costModeDescription[costMode]}`);
|
|
212
|
-
}
|
|
213
|
-
if (!(0, file_1.isValidProjectRoot)((0, project_files_1.getProjectRoot)())) {
|
|
214
|
-
console.info(`Welcome! Codebuff is your AI pair programmer that edits your codebase through natural conversation.
|
|
215
|
-
|
|
216
|
-
You are currently in "${(0, picocolors_1.green)((0, project_files_1.getProjectRoot)())}".
|
|
217
|
-
|
|
218
|
-
To get started:
|
|
219
|
-
1. Navigate to your project (cd your/project/root)
|
|
220
|
-
2. Run "codebuff" there instead
|
|
221
|
-
`.trim());
|
|
222
|
-
process.exit(0);
|
|
223
|
-
}
|
|
224
|
-
console.log(`Codebuff will read and write files in "${(0, project_files_1.getProjectRoot)()}". Type "help" for a list of commands.`);
|
|
225
|
-
const gitDir = path_1.default.join((0, project_files_1.getProjectRoot)(), '.git');
|
|
226
|
-
if (!fs.existsSync(gitDir)) {
|
|
227
|
-
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!"));
|
|
228
|
-
}
|
|
229
|
-
console.log(`\nWelcome${username ? ` back ${username}` : ''}! What would you like to do?`);
|
|
230
|
-
}
|
|
231
|
-
const getRandomColors = () => {
|
|
232
|
-
const allColors = [picocolors_1.red, picocolors_1.green, picocolors_1.yellow, picocolors_1.blue, picocolors_1.blueBright, picocolors_1.magenta, picocolors_1.cyan];
|
|
233
|
-
const colors = [];
|
|
234
|
-
while (colors.length < 3) {
|
|
235
|
-
const color = allColors[Math.floor(Math.random() * allColors.length)];
|
|
236
|
-
if (!colors.includes(color)) {
|
|
237
|
-
colors.push(color);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
return colors;
|
|
241
|
-
};
|
|
242
|
-
function displayMenu() {
|
|
243
|
-
const terminalWidth = process.stdout.columns || 80;
|
|
244
|
-
const dividerLine = '─'.repeat(terminalWidth);
|
|
245
|
-
const selectedColors = getRandomColors();
|
|
246
|
-
const colorizeRandom = (text) => {
|
|
247
|
-
return text
|
|
248
|
-
.split('')
|
|
249
|
-
.map((char) => {
|
|
250
|
-
const colorFn = selectedColors[Math.floor(Math.random() * selectedColors.length)];
|
|
251
|
-
return colorFn(char);
|
|
252
|
-
})
|
|
253
|
-
.join('');
|
|
254
|
-
};
|
|
255
|
-
console.log(`
|
|
256
|
-
${colorizeRandom(' ')}
|
|
257
|
-
${colorizeRandom('██████╗')}${colorizeRandom(' ██████╗ ')}${colorizeRandom('██████╗ ')}${colorizeRandom('███████╗')}${colorizeRandom('██████╗ ')}${colorizeRandom('██╗ ██╗')}${colorizeRandom('███████╗')}${colorizeRandom('███████╗')}
|
|
258
|
-
${colorizeRandom('██╔════╝')}${colorizeRandom('██╔═══██╗')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██╔════╝')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔════╝')}${colorizeRandom('██╔════╝')}
|
|
259
|
-
${colorizeRandom('██║ ')}${colorizeRandom('██║ ██║')}${colorizeRandom('██║ ██║')}${colorizeRandom('█████╗ ')}${colorizeRandom('██████╔╝')}${colorizeRandom('██║ ██║')}${colorizeRandom('█████╗ ')}${colorizeRandom('█████╗ ')}
|
|
260
|
-
${colorizeRandom('██║ ')}${colorizeRandom('██║ ██║')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔══╝ ')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔══╝ ')}${colorizeRandom('██╔══╝ ')}
|
|
261
|
-
${colorizeRandom('╚██████╗')}${colorizeRandom('╚██████╔╝')}${colorizeRandom('██████╔╝')}${colorizeRandom('███████╗')}${colorizeRandom('██████╔╝')}${colorizeRandom('╚██████╔╝')}${colorizeRandom('██║ ')}${colorizeRandom('██║ ')}
|
|
262
|
-
${colorizeRandom(' ╚═════╝')}${colorizeRandom(' ╚═════╝ ')}${colorizeRandom('╚═════╝ ')}${colorizeRandom('╚══════╝')}${colorizeRandom('╚═════╝ ')}${colorizeRandom(' ╚═════╝ ')}${colorizeRandom('╚═╝ ')}${colorizeRandom('╚═╝ ')}
|
|
263
|
-
`);
|
|
264
|
-
console.log(`\n${(0, picocolors_1.bold)('Your AI pair programmer that understands, edits, and improves your codebase through natural conversation.')}`);
|
|
265
|
-
console.log(`\n${(0, picocolors_1.bold)((0, picocolors_1.underline)('PROJECT SETUP'))}`);
|
|
266
|
-
console.log((() => {
|
|
267
|
-
const currentDirectoryLine = `${(0, picocolors_1.green)('✅ Current directory:')} ${(0, picocolors_1.bold)((0, picocolors_1.blueBright)((0, project_files_1.getProjectRoot)()))}`;
|
|
268
|
-
const hasGitRepo = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), '.git'));
|
|
269
|
-
const hasGitIgnore = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), '.gitignore'));
|
|
270
|
-
const hasKnowledgeMd = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), 'knowledge.md'));
|
|
271
|
-
const hasCodebuffJson = fs.existsSync(path_1.default.join((0, project_files_1.getProjectRoot)(), constants_1.codebuffConfigFile));
|
|
272
|
-
const gitignoreNote = ' (Codebuff never reads files in your .gitignore/.codebuffignore)';
|
|
273
|
-
// Condition 1: Git repo found, all files present
|
|
274
|
-
if (hasGitRepo && hasGitIgnore && hasKnowledgeMd && hasCodebuffJson) {
|
|
275
|
-
return `${currentDirectoryLine}\n${(0, picocolors_1.green)('✅ Git repo: detected')}
|
|
276
|
-
${(0, picocolors_1.green)('✅ .gitignore: detected')}${gitignoreNote}
|
|
277
|
-
${(0, picocolors_1.green)('✅ knowledge.md: detected')}
|
|
278
|
-
${(0, picocolors_1.green)(`✅ ${constants_1.codebuffConfigFile}: detected`)}`;
|
|
279
|
-
}
|
|
280
|
-
// Condition 2: Git repo not found
|
|
281
|
-
if (!hasGitRepo) {
|
|
282
|
-
return `${currentDirectoryLine}\n${(0, picocolors_1.yellow)('❌ Git repo: not found')}${' - navigate to a working directory!'}
|
|
283
|
-
${hasGitIgnore ? (0, picocolors_1.green)('✅ .gitignore: detected') : (0, picocolors_1.yellow)('❌ .gitignore: missing')}${gitignoreNote}
|
|
284
|
-
${hasKnowledgeMd ? (0, picocolors_1.green)('✅ knowledge.md: detected') : (0, picocolors_1.yellow)('❌ knowledge.md: missing')}${' — run "init" to fix'}
|
|
285
|
-
${hasCodebuffJson ? (0, picocolors_1.green)(`✅ ${constants_1.codebuffConfigFile}: detected`) : (0, picocolors_1.yellow)(`❌ ${constants_1.codebuffConfigFile}: missing`)}${' — run "init" to fix'}`;
|
|
286
|
-
}
|
|
287
|
-
// Condition 3: Missing .gitignore
|
|
288
|
-
if (!hasGitIgnore) {
|
|
289
|
-
return `${currentDirectoryLine}\n${(0, picocolors_1.green)('✅ Git repo: detected')}
|
|
290
|
-
${(0, picocolors_1.yellow)('❌ .gitignore: missing - type "generate a reasonable .gitignore"')}${gitignoreNote}
|
|
291
|
-
${hasKnowledgeMd ? (0, picocolors_1.green)('✅ knowledge.md: detected') : (0, picocolors_1.yellow)('❌ knowledge.md: missing')}
|
|
292
|
-
${hasCodebuffJson ? (0, picocolors_1.green)(`✅ ${constants_1.codebuffConfigFile}: detected`) : (0, picocolors_1.yellow)(`❌ ${constants_1.codebuffConfigFile}: missing`)}`;
|
|
293
|
-
}
|
|
294
|
-
// Condition 4: Missing knowledge files
|
|
295
|
-
return `${currentDirectoryLine}\n${(0, picocolors_1.green)('✅ Git repo: detected')}
|
|
296
|
-
${(0, picocolors_1.green)('✅ .gitignore: detected')}${gitignoreNote}
|
|
297
|
-
${!hasKnowledgeMd && !hasCodebuffJson
|
|
298
|
-
? (0, picocolors_1.yellow)(`❌ knowledge.md & ${constants_1.codebuffConfigFile}: missing - type "init"`)
|
|
299
|
-
: !hasKnowledgeMd
|
|
300
|
-
? (0, picocolors_1.yellow)('❌ knowledge.md: missing - type "init"')
|
|
301
|
-
: !hasCodebuffJson
|
|
302
|
-
? (0, picocolors_1.yellow)(`❌ ${constants_1.codebuffConfigFile}: missing - type "init"`)
|
|
303
|
-
: (0, picocolors_1.green)(`✅ knowledge.md & ${constants_1.codebuffConfigFile}: detected`)}
|
|
304
|
-
${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.`)}` : ''}
|
|
305
|
-
${!hasKnowledgeMd && hasCodebuffJson ? `\n${(0, picocolors_1.yellow)('knowledge.md helps Codebuff understand your project structure and codebase better for better results.')}` : ''}
|
|
306
|
-
${!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.`)}` : ''}`;
|
|
307
|
-
})());
|
|
308
|
-
// COMMUNITY & FEEDBACK SECTION
|
|
309
|
-
console.log(`\n${(0, picocolors_1.bold)((0, picocolors_1.underline)('COMMUNITY & FEEDBACK'))}`);
|
|
310
|
-
console.log(`Thanks for using Codebuff! DM @brandonkachen or @jahooma on Discord, or email ${(0, picocolors_1.blueBright)('founders@codebuff.com')}`);
|
|
311
|
-
console.log(`Join our Discord: ${(0, picocolors_1.blueBright)('https://codebuff.com/discord')} ${(0, picocolors_1.gray)(`(${os_1.default.platform() === 'darwin' ? 'Command' : 'Ctrl'} + Click to open)`)}`);
|
|
312
|
-
console.log(`\n${(0, picocolors_1.bold)((0, picocolors_1.underline)('EXAMPLE PROMPTS'))}
|
|
313
|
-
${'Code Quality:'}
|
|
314
|
-
${(0, picocolors_1.cyan)(' • "Add error handling to this function"')}
|
|
315
|
-
${(0, picocolors_1.cyan)(' • "Add JSDoc comments to this file"')}
|
|
316
|
-
${(0, picocolors_1.cyan)(' • "Fix the type errors in this component"')}
|
|
317
|
-
|
|
318
|
-
${'Testing & Validation:'}
|
|
319
|
-
${(0, picocolors_1.cyan)(' • "Create a unit test for the auth module"')}
|
|
320
|
-
${(0, picocolors_1.cyan)(' • "Add input validation to this endpoint"')}
|
|
321
|
-
|
|
322
|
-
${'Performance & Architecture:'}
|
|
323
|
-
${(0, picocolors_1.cyan)(' • "Optimize this database query"')}
|
|
324
|
-
${(0, picocolors_1.cyan)(' • "Refactor this to use async/await"')}
|
|
325
|
-
${(0, picocolors_1.cyan)(' • "Add caching to this service"')}
|
|
326
|
-
|
|
327
|
-
${'Features & Infrastructure:'}
|
|
328
|
-
${(0, picocolors_1.cyan)(' • "Create a new API endpoint for users"')}
|
|
329
|
-
${(0, picocolors_1.cyan)(' • "Add logging to these functions"')}
|
|
330
|
-
${(0, picocolors_1.cyan)(' • "Set up CI/CD pipeline config"')}
|
|
331
|
-
`);
|
|
332
|
-
// INTERACTIVE COMMANDS SECTION
|
|
333
|
-
const fixedCommandWidth = 30; // Fixed width for command column
|
|
334
|
-
const formatMenuLine = (commandText, description) => {
|
|
335
|
-
const paddedCommand = commandText.padEnd(fixedCommandWidth);
|
|
336
|
-
return `${paddedCommand}${description}`;
|
|
337
|
-
};
|
|
338
|
-
const menuLines = exports.interactiveCommandDetails
|
|
339
|
-
.filter((cmd) => cmd.commandText) // Filter out slash-only commands like the discrete undo/redo
|
|
340
|
-
.map((cmd) => formatMenuLine(cmd.commandText, cmd.description));
|
|
341
|
-
console.log(`\n${(0, picocolors_1.bold)((0, picocolors_1.underline)('COMMANDS (type these below)'))}${' '.repeat(fixedCommandWidth - 27)}${(0, picocolors_1.bold)((0, picocolors_1.underline)('DESCRIPTION'))}\n\n${menuLines.join(`\n${dividerLine}`)}\n`);
|
|
342
|
-
console.log(`\n↓ Enter your prompt or command below ↓`);
|
|
343
|
-
}
|
|
344
|
-
//# sourceMappingURL=menu.js.map
|