@bestdefense/bd-agent 0.1.0 → 0.1.1
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/cli.js
CHANGED
@@ -47,9 +47,9 @@ async function runSetup() {
|
|
47
47
|
validate: (input) => input.length > 0 || 'Secret Access Key is required'
|
48
48
|
},
|
49
49
|
{
|
50
|
-
type: '
|
50
|
+
type: 'editor',
|
51
51
|
name: 'AWS_SESSION_TOKEN',
|
52
|
-
message: 'AWS Session Token (optional):'
|
52
|
+
message: 'AWS Session Token (optional - press Enter to open editor for long tokens):'
|
53
53
|
},
|
54
54
|
{
|
55
55
|
type: 'input',
|
package/dist/cli.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,wDAAgC;AAChC,2CAA4D;AAC5D,0CAA4C;AAC5C,kDAA0C;AAE1C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,0DAA0D,CAAC;KACvE,OAAO,CAAC,sBAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC,IAAA,uBAAc,GAAE,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC9E,MAAM,QAAQ,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEpB,KAAK,UAAU,QAAQ;IACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,CAAC;IAE/E,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,oBAAoB;YAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B;SACrE;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,wBAAwB;YACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,+BAA+B;SACzE;QACD;YACE,IAAI,EAAE,
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,wDAAgC;AAChC,2CAA4D;AAC5D,0CAA4C;AAC5C,kDAA0C;AAE1C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,0DAA0D,CAAC;KACvE,OAAO,CAAC,sBAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC,IAAA,uBAAc,GAAE,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC9E,MAAM,QAAQ,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEpB,KAAK,UAAU,QAAQ;IACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,CAAC;IAE/E,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,oBAAoB;YAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B;SACrE;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,wBAAwB;YACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,+BAA+B;SACzE;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,4EAA4E;SACtF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,WAAW;SACrB;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,2CAA2C;SACrD;KACF,CAAC,CAAC;IAEH,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bedrock-client.d.ts","sourceRoot":"","sources":["../../src/services/bedrock-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,qBAAqB,EAErB,YAAY,EAEZ,YAAY,EAGb,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAS;;
|
1
|
+
{"version":3,"file":"bedrock-client.d.ts","sourceRoot":"","sources":["../../src/services/bedrock-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,qBAAqB,EAErB,YAAY,EAEZ,YAAY,EAGb,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAS;;IA8BlB,WAAW,CACf,QAAQ,EAAE,cAAc,EAAE,EAC1B,KAAK,CAAC,EAAE,WAAW,EAAE,EACrB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,CAAC;IAwC1B,aAAa,CAClB,QAAQ,EAAE,cAAc,EAAE,EAC1B,KAAK,CAAC,EAAE,WAAW,EAAE,EACrB,YAAY,CAAC,EAAE,MAAM,GACpB,cAAc,CAAC,MAAM,GAAG,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC;CAaxD"}
|
@@ -7,45 +7,66 @@ class BedrockClient {
|
|
7
7
|
client;
|
8
8
|
modelId;
|
9
9
|
constructor() {
|
10
|
-
|
11
|
-
region: config_1.config.AWS_REGION || 'us-east-1'
|
12
|
-
|
10
|
+
const clientConfig = {
|
11
|
+
region: config_1.config.AWS_REGION || 'us-east-1'
|
12
|
+
};
|
13
|
+
// Only add credentials if they are properly defined
|
14
|
+
if (config_1.config.AWS_ACCESS_KEY_ID && config_1.config.AWS_SECRET_ACCESS_KEY) {
|
15
|
+
clientConfig.credentials = {
|
13
16
|
accessKeyId: config_1.config.AWS_ACCESS_KEY_ID,
|
14
|
-
secretAccessKey: config_1.config.AWS_SECRET_ACCESS_KEY
|
15
|
-
|
17
|
+
secretAccessKey: config_1.config.AWS_SECRET_ACCESS_KEY
|
18
|
+
};
|
19
|
+
// Only add session token if it exists and is not empty
|
20
|
+
if (config_1.config.AWS_SESSION_TOKEN && config_1.config.AWS_SESSION_TOKEN.trim()) {
|
21
|
+
clientConfig.credentials.sessionToken = config_1.config.AWS_SESSION_TOKEN.trim();
|
16
22
|
}
|
17
|
-
}
|
23
|
+
}
|
24
|
+
try {
|
25
|
+
this.client = new client_bedrock_runtime_1.BedrockRuntimeClient(clientConfig);
|
26
|
+
}
|
27
|
+
catch (error) {
|
28
|
+
console.error('Failed to initialize Bedrock client:', error);
|
29
|
+
throw new Error('Invalid AWS credentials. Please check your configuration.');
|
30
|
+
}
|
18
31
|
this.modelId = config_1.config.BEDROCK_MODEL_ID || 'anthropic.claude-3-5-sonnet-20241022-v2:0';
|
19
32
|
}
|
20
33
|
async sendMessage(messages, tools, systemPrompt) {
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
try {
|
35
|
+
const formattedMessages = messages.map(msg => ({
|
36
|
+
role: msg.role,
|
37
|
+
content: typeof msg.content === 'string'
|
38
|
+
? [{ text: msg.content }]
|
39
|
+
: msg.content
|
40
|
+
}));
|
41
|
+
const input = {
|
42
|
+
modelId: this.modelId,
|
43
|
+
messages: formattedMessages,
|
44
|
+
system: systemPrompt ? [{ text: systemPrompt }] : undefined,
|
45
|
+
toolConfig: tools ? {
|
46
|
+
tools: tools.map(tool => ({
|
47
|
+
toolSpec: {
|
48
|
+
name: tool.name,
|
49
|
+
description: tool.description,
|
50
|
+
inputSchema: {
|
51
|
+
json: tool.input_schema
|
52
|
+
}
|
38
53
|
}
|
39
|
-
}
|
40
|
-
}
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
54
|
+
}))
|
55
|
+
} : undefined,
|
56
|
+
inferenceConfig: {
|
57
|
+
maxTokens: 4096,
|
58
|
+
temperature: 0.0
|
59
|
+
}
|
60
|
+
};
|
61
|
+
const command = new client_bedrock_runtime_1.ConverseCommand(input);
|
62
|
+
return await this.client.send(command);
|
63
|
+
}
|
64
|
+
catch (error) {
|
65
|
+
if (error.name === 'CredentialsProviderError' || error.message?.includes('credential')) {
|
66
|
+
throw new Error('AWS credentials are invalid or expired. Please run: bd-agent setup');
|
45
67
|
}
|
46
|
-
|
47
|
-
|
48
|
-
return await this.client.send(command);
|
68
|
+
throw error;
|
69
|
+
}
|
49
70
|
}
|
50
71
|
async *streamMessage(messages, tools, systemPrompt) {
|
51
72
|
const response = await this.sendMessage(messages, tools, systemPrompt);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bedrock-client.js","sourceRoot":"","sources":["../../src/services/bedrock-client.ts"],"names":[],"mappings":";;;AAAA,4EAWyC;AACzC,4CAAyC;AAiBzC,MAAa,aAAa;IAChB,MAAM,CAAuB;IAC7B,OAAO,CAAS;IAExB;QACE,
|
1
|
+
{"version":3,"file":"bedrock-client.js","sourceRoot":"","sources":["../../src/services/bedrock-client.ts"],"names":[],"mappings":";;;AAAA,4EAWyC;AACzC,4CAAyC;AAiBzC,MAAa,aAAa;IAChB,MAAM,CAAuB;IAC7B,OAAO,CAAS;IAExB;QACE,MAAM,YAAY,GAAQ;YACxB,MAAM,EAAE,eAAM,CAAC,UAAU,IAAI,WAAW;SACzC,CAAC;QAEF,oDAAoD;QACpD,IAAI,eAAM,CAAC,iBAAiB,IAAI,eAAM,CAAC,qBAAqB,EAAE,CAAC;YAC7D,YAAY,CAAC,WAAW,GAAG;gBACzB,WAAW,EAAE,eAAM,CAAC,iBAAiB;gBACrC,eAAe,EAAE,eAAM,CAAC,qBAAqB;aAC9C,CAAC;YAEF,uDAAuD;YACvD,IAAI,eAAM,CAAC,iBAAiB,IAAI,eAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChE,YAAY,CAAC,WAAW,CAAC,YAAY,GAAG,eAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,6CAAoB,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,eAAM,CAAC,gBAAgB,IAAI,2CAA2C,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAA0B,EAC1B,KAAqB,EACrB,YAAqB;QAErB,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAc,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxD,IAAI,EAAE,GAAG,CAAC,IAAwB;gBAClC,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBACtC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACzB,CAAC,CAAC,GAAG,CAAC,OAAO;aAChB,CAAC,CAAC,CAAC;YAEJ,MAAM,KAAK,GAAyB;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,iBAAiB;gBAC3B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3D,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;oBAClB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACxB,QAAQ,EAAE;4BACR,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,WAAW,EAAE;gCACX,IAAI,EAAE,IAAI,CAAC,YAAY;6BACxB;yBACF;qBACF,CAAC,CAAC;iBACJ,CAAC,CAAC,CAAC,SAAS;gBACb,eAAe,EAAE;oBACf,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,GAAG;iBACjB;aACF,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,wCAAe,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvF,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAA,CAAE,aAAa,CAClB,QAA0B,EAC1B,KAAqB,EACrB,YAAqB;QAErB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAEvE,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpD,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,KAAK,CAAC,IAAI,CAAC;gBACnB,CAAC;qBAAM,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC/C,MAAM,KAAK,CAAC,OAAO,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA7FD,sCA6FC"}
|