@bestdefense/bd-agent 0.1.0
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/README.md +95 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +75 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/chat.d.ts +4 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +101 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/services/bedrock-client.d.ts +22 -0
- package/dist/services/bedrock-client.d.ts.map +1 -0
- package/dist/services/bedrock-client.js +65 -0
- package/dist/services/bedrock-client.js.map +1 -0
- package/dist/services/conversation-manager.d.ts +13 -0
- package/dist/services/conversation-manager.d.ts.map +1 -0
- package/dist/services/conversation-manager.js +41 -0
- package/dist/services/conversation-manager.js.map +1 -0
- package/dist/services/tool-executor.d.ts +11 -0
- package/dist/services/tool-executor.d.ts.map +1 -0
- package/dist/services/tool-executor.js +49 -0
- package/dist/services/tool-executor.js.map +1 -0
- package/dist/tools/file-system.d.ts +127 -0
- package/dist/tools/file-system.d.ts.map +1 -0
- package/dist/tools/file-system.js +173 -0
- package/dist/tools/file-system.js.map +1 -0
- package/dist/tools/git.d.ts +163 -0
- package/dist/tools/git.d.ts.map +1 -0
- package/dist/tools/git.js +169 -0
- package/dist/tools/git.js.map +1 -0
- package/dist/tools/shell.d.ts +40 -0
- package/dist/tools/shell.d.ts.map +1 -0
- package/dist/tools/shell.js +55 -0
- package/dist/tools/shell.js.map +1 -0
- package/dist/utils/config.d.ts +11 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +75 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/prompts.d.ts +2 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +34 -0
- package/dist/utils/prompts.js.map +1 -0
- package/package.json +52 -0
@@ -0,0 +1,75 @@
|
|
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 () {
|
19
|
+
var ownKeys = function(o) {
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
+
var ar = [];
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
+
return ar;
|
24
|
+
};
|
25
|
+
return ownKeys(o);
|
26
|
+
};
|
27
|
+
return function (mod) {
|
28
|
+
if (mod && mod.__esModule) return mod;
|
29
|
+
var result = {};
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
+
__setModuleDefault(result, mod);
|
32
|
+
return result;
|
33
|
+
};
|
34
|
+
})();
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
36
|
+
exports.config = void 0;
|
37
|
+
exports.validateConfig = validateConfig;
|
38
|
+
exports.saveConfig = saveConfig;
|
39
|
+
const dotenv = __importStar(require("dotenv"));
|
40
|
+
const fs = __importStar(require("fs"));
|
41
|
+
const path = __importStar(require("path"));
|
42
|
+
const os = __importStar(require("os"));
|
43
|
+
dotenv.config();
|
44
|
+
const configDir = path.join(os.homedir(), '.bd-agent');
|
45
|
+
const envFile = path.join(configDir, '.env');
|
46
|
+
if (fs.existsSync(envFile)) {
|
47
|
+
dotenv.config({ path: envFile });
|
48
|
+
}
|
49
|
+
exports.config = {
|
50
|
+
AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID,
|
51
|
+
AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY,
|
52
|
+
AWS_SESSION_TOKEN: process.env.AWS_SESSION_TOKEN,
|
53
|
+
AWS_REGION: process.env.AWS_REGION || 'us-east-1',
|
54
|
+
BEDROCK_MODEL_ID: process.env.BEDROCK_MODEL_ID || 'anthropic.claude-3-5-sonnet-20241022-v2:0',
|
55
|
+
AWS_BEARER_TOKEN_BEDROCK: process.env.AWS_BEARER_TOKEN_BEDROCK
|
56
|
+
};
|
57
|
+
function validateConfig() {
|
58
|
+
if (!exports.config.AWS_ACCESS_KEY_ID || !exports.config.AWS_SECRET_ACCESS_KEY) {
|
59
|
+
console.error('Missing AWS credentials. Please set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY');
|
60
|
+
return false;
|
61
|
+
}
|
62
|
+
return true;
|
63
|
+
}
|
64
|
+
function saveConfig(updates) {
|
65
|
+
if (!fs.existsSync(configDir)) {
|
66
|
+
fs.mkdirSync(configDir, { recursive: true });
|
67
|
+
}
|
68
|
+
const currentConfig = { ...exports.config, ...updates };
|
69
|
+
const envContent = Object.entries(currentConfig)
|
70
|
+
.filter(([_, value]) => value !== undefined)
|
71
|
+
.map(([key, value]) => `${key}=${value}`)
|
72
|
+
.join('\n');
|
73
|
+
fs.writeFileSync(envFile, envContent);
|
74
|
+
}
|
75
|
+
//# sourceMappingURL=config.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,wCAMC;AAED,gCAYC;AA3CD,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AACvD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE7C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AACnC,CAAC;AAEY,QAAA,MAAM,GAAG;IACpB,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IAChD,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACxD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IAChD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW;IACjD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,2CAA2C;IAC7F,wBAAwB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;CAC/D,CAAC;AAEF,SAAgB,cAAc;IAC5B,IAAI,CAAC,cAAM,CAAC,iBAAiB,IAAI,CAAC,cAAM,CAAC,qBAAqB,EAAE,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACjG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,UAAU,CAAC,OAA+B;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,aAAa,GAAG,EAAE,GAAG,cAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;SACxC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI,MAAM,CA6BxC"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getSystemPrompt = getSystemPrompt;
|
4
|
+
function getSystemPrompt() {
|
5
|
+
return `You are BD Agent, an AI-powered coding assistant that helps developers with their programming tasks.
|
6
|
+
|
7
|
+
You have access to various tools to help you:
|
8
|
+
- File system tools: read, write, edit files, and list directories
|
9
|
+
- Git tools: check status, stage files, commit changes, view logs
|
10
|
+
- Shell tools: execute commands
|
11
|
+
|
12
|
+
When helping users:
|
13
|
+
1. Be concise and direct in your responses
|
14
|
+
2. Use the available tools to understand the codebase and make changes
|
15
|
+
3. Follow existing code conventions and patterns
|
16
|
+
4. Always verify your changes work correctly
|
17
|
+
5. Provide clear explanations of what you're doing
|
18
|
+
|
19
|
+
You can help with:
|
20
|
+
- Writing new code
|
21
|
+
- Debugging and fixing issues
|
22
|
+
- Refactoring existing code
|
23
|
+
- Explaining complex code
|
24
|
+
- Managing git workflows
|
25
|
+
- Running tests and builds
|
26
|
+
- General programming questions
|
27
|
+
|
28
|
+
Remember to:
|
29
|
+
- Ask for clarification when needed
|
30
|
+
- Break down complex tasks into smaller steps
|
31
|
+
- Use tools efficiently to minimize unnecessary operations
|
32
|
+
- Respect the user's existing code style and preferences`;
|
33
|
+
}
|
34
|
+
//# sourceMappingURL=prompts.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":";;AAAA,0CA6BC;AA7BD,SAAgB,eAAe;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA2BgD,CAAC;AAC1D,CAAC"}
|
package/package.json
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
{
|
2
|
+
"name": "@bestdefense/bd-agent",
|
3
|
+
"version": "0.1.0",
|
4
|
+
"description": "An AI-powered coding assistant CLI that connects to AWS Bedrock",
|
5
|
+
"main": "dist/index.js",
|
6
|
+
"bin": {
|
7
|
+
"bd-agent": "./dist/cli.js"
|
8
|
+
},
|
9
|
+
"scripts": {
|
10
|
+
"build": "tsc",
|
11
|
+
"dev": "tsx src/cli.ts",
|
12
|
+
"prepare": "npm run build",
|
13
|
+
"test": "jest"
|
14
|
+
},
|
15
|
+
"keywords": [
|
16
|
+
"ai",
|
17
|
+
"coding-assistant",
|
18
|
+
"cli",
|
19
|
+
"aws-bedrock",
|
20
|
+
"developer-tools"
|
21
|
+
],
|
22
|
+
"author": "BestDefense, Inc.",
|
23
|
+
"license": "MIT",
|
24
|
+
"dependencies": {
|
25
|
+
"@aws-sdk/client-bedrock-runtime": "^3.0.0",
|
26
|
+
"chalk": "^5.3.0",
|
27
|
+
"commander": "^12.0.0",
|
28
|
+
"dotenv": "^16.4.5",
|
29
|
+
"inquirer": "^9.2.23",
|
30
|
+
"marked": "^12.0.2",
|
31
|
+
"marked-terminal": "^7.0.0",
|
32
|
+
"ora": "^8.0.1"
|
33
|
+
},
|
34
|
+
"devDependencies": {
|
35
|
+
"@types/inquirer": "^9.0.7",
|
36
|
+
"@types/marked-terminal": "^3.1.3",
|
37
|
+
"@types/node": "^20.14.0",
|
38
|
+
"jest": "^29.7.0",
|
39
|
+
"tsx": "^4.15.0",
|
40
|
+
"typescript": "^5.4.5"
|
41
|
+
},
|
42
|
+
"engines": {
|
43
|
+
"node": ">=18.0.0"
|
44
|
+
},
|
45
|
+
"files": [
|
46
|
+
"dist"
|
47
|
+
],
|
48
|
+
"repository": {
|
49
|
+
"type": "git",
|
50
|
+
"url": "https://github.com/bestdefense-io/BD.Agent.git"
|
51
|
+
}
|
52
|
+
}
|