@vfarcic/dot-ai 0.126.0 → 0.128.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/dist/core/ai-provider-factory.d.ts.map +1 -1
- package/dist/core/ai-provider-factory.js +24 -12
- package/dist/core/embedding-service.d.ts +3 -3
- package/dist/core/embedding-service.d.ts.map +1 -1
- package/dist/core/embedding-service.js +22 -3
- package/dist/core/model-config.d.ts +1 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +2 -1
- package/dist/core/providers/vercel-provider.d.ts.map +1 -1
- package/dist/core/providers/vercel-provider.js +11 -0
- package/dist/tools/version.d.ts.map +1 -1
- package/dist/tools/version.js +6 -3
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-provider-factory.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AA+BjC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;IAgCnD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,IAAI,UAAU;
|
|
1
|
+
{"version":3,"file":"ai-provider-factory.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AA+BjC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;IAgCnD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,IAAI,UAAU;IA0FlC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAItC;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAMrD;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAMxC;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGxD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAE7C"}
|
|
@@ -110,18 +110,29 @@ class AIProviderFactory {
|
|
|
110
110
|
// Get API key for the provider
|
|
111
111
|
// PRD #194: Support CUSTOM_LLM_API_KEY for custom LLM endpoints
|
|
112
112
|
// Priority: 1. CUSTOM_LLM_API_KEY, 2. Provider-specific key (e.g., OPENAI_API_KEY)
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
113
|
+
// PRD #175: Amazon Bedrock uses AWS SDK credential chain, not API keys
|
|
114
|
+
let apiKey;
|
|
115
|
+
// Special handling for Amazon Bedrock - AWS SDK handles credentials automatically
|
|
116
|
+
if (providerType === 'amazon_bedrock') {
|
|
117
|
+
// Use dummy API key for Bedrock - AWS SDK will handle actual authentication
|
|
118
|
+
// AWS credentials checked at runtime by AWS SDK (env vars, ~/.aws/credentials, IAM roles)
|
|
119
|
+
apiKey = 'bedrock-uses-aws-credentials';
|
|
118
120
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
`
|
|
123
|
-
|
|
124
|
-
|
|
121
|
+
else {
|
|
122
|
+
const apiKeyEnvVar = PROVIDER_ENV_KEYS[providerType];
|
|
123
|
+
if (!apiKeyEnvVar) {
|
|
124
|
+
process.stderr.write(`WARNING: No API key environment variable defined for provider: ${providerType}. ` +
|
|
125
|
+
`Falling back to NoOpProvider.\n`);
|
|
126
|
+
return new noop_provider_1.NoOpAIProvider();
|
|
127
|
+
}
|
|
128
|
+
const resolvedApiKey = process.env.CUSTOM_LLM_API_KEY || process.env[apiKeyEnvVar];
|
|
129
|
+
if (!resolvedApiKey) {
|
|
130
|
+
process.stderr.write(`INFO: ${apiKeyEnvVar} not configured. ` +
|
|
131
|
+
`AI features will be unavailable. ` +
|
|
132
|
+
`Tools that don't require AI (prompts, project-setup) will still work.\n`);
|
|
133
|
+
return new noop_provider_1.NoOpAIProvider();
|
|
134
|
+
}
|
|
135
|
+
apiKey = resolvedApiKey;
|
|
125
136
|
}
|
|
126
137
|
// Get optional model override
|
|
127
138
|
const model = process.env.AI_MODEL;
|
|
@@ -130,9 +141,10 @@ class AIProviderFactory {
|
|
|
130
141
|
// PRD #194: Get custom endpoint URL for OpenAI-compatible LLM APIs
|
|
131
142
|
// Use CUSTOM_LLM_BASE_URL for LLM endpoints (separate from OPENAI_BASE_URL used for embeddings)
|
|
132
143
|
const baseURL = process.env.CUSTOM_LLM_BASE_URL;
|
|
144
|
+
// Determine effective provider type based on endpoint configuration
|
|
145
|
+
let effectiveProviderType = providerType;
|
|
133
146
|
// PRD #194: Detect OpenRouter and override provider type
|
|
134
147
|
// OpenRouter requires dedicated provider for proper tool calling support
|
|
135
|
-
let effectiveProviderType = providerType;
|
|
136
148
|
if (baseURL && baseURL.includes('openrouter.ai')) {
|
|
137
149
|
effectiveProviderType = 'openrouter';
|
|
138
150
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Gracefully falls back to keyword-only search when embedding providers are not available.
|
|
6
6
|
*/
|
|
7
7
|
export interface EmbeddingConfig {
|
|
8
|
-
provider?: 'openai' | 'google' | 'mistral';
|
|
8
|
+
provider?: 'openai' | 'google' | 'mistral' | 'amazon_bedrock';
|
|
9
9
|
apiKey?: string;
|
|
10
10
|
model?: string;
|
|
11
11
|
dimensions?: number;
|
|
@@ -19,7 +19,7 @@ export interface EmbeddingProvider {
|
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Unified Vercel AI SDK Embedding Provider
|
|
22
|
-
* Supports OpenAI, Google, and
|
|
22
|
+
* Supports OpenAI, Google, Mistral, and Amazon Bedrock through Vercel AI SDK
|
|
23
23
|
*/
|
|
24
24
|
export declare class VercelEmbeddingProvider implements EmbeddingProvider {
|
|
25
25
|
private providerType;
|
|
@@ -29,7 +29,7 @@ export declare class VercelEmbeddingProvider implements EmbeddingProvider {
|
|
|
29
29
|
private available;
|
|
30
30
|
private modelInstance;
|
|
31
31
|
constructor(config: EmbeddingConfig & {
|
|
32
|
-
provider: 'openai' | 'google' | 'mistral';
|
|
32
|
+
provider: 'openai' | 'google' | 'mistral' | 'amazon_bedrock';
|
|
33
33
|
});
|
|
34
34
|
generateEmbedding(text: string): Promise<number[]>;
|
|
35
35
|
generateEmbeddings(texts: string[]): Promise<number[][]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-service.d.ts","sourceRoot":"","sources":["../../src/core/embedding-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"embedding-service.d.ts","sourceRoot":"","sources":["../../src/core/embedding-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzD,WAAW,IAAI,OAAO,CAAC;IACvB,aAAa,IAAI,MAAM,CAAC;IACxB,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,OAAO,CAAC,YAAY,CAAqD;IACzE,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,aAAa,CAAM;gBAEf,MAAM,EAAE,eAAe,GAAG;QAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAA;KAAE;IA0EhG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAiDlD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IA8D9D,WAAW,IAAI,OAAO;IAItB,aAAa,IAAI,MAAM;IAIvB,QAAQ,IAAI,MAAM;IAIlB,eAAe,IAAI,MAAM;CAG1B;AA0BD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAA2B;gBAE/B,MAAM,GAAE,eAAoB;IAKxC;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAaxD;;;OAGG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAc9D;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,SAAS,IAAI;QACX,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IA6BD;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE;QAC/B,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM;CASX"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.EmbeddingService = exports.VercelEmbeddingProvider = void 0;
|
|
10
|
+
const amazon_bedrock_1 = require("@ai-sdk/amazon-bedrock");
|
|
10
11
|
const google_1 = require("@ai-sdk/google");
|
|
11
12
|
const mistral_1 = require("@ai-sdk/mistral");
|
|
12
13
|
const openai_1 = require("@ai-sdk/openai");
|
|
@@ -14,7 +15,7 @@ const ai_1 = require("ai");
|
|
|
14
15
|
const tracing_1 = require("./tracing");
|
|
15
16
|
/**
|
|
16
17
|
* Unified Vercel AI SDK Embedding Provider
|
|
17
|
-
* Supports OpenAI, Google, and
|
|
18
|
+
* Supports OpenAI, Google, Mistral, and Amazon Bedrock through Vercel AI SDK
|
|
18
19
|
*/
|
|
19
20
|
class VercelEmbeddingProvider {
|
|
20
21
|
providerType;
|
|
@@ -43,6 +44,12 @@ class VercelEmbeddingProvider {
|
|
|
43
44
|
this.model = config.model || 'mistral-embed';
|
|
44
45
|
this.dimensions = config.dimensions || 1024;
|
|
45
46
|
break;
|
|
47
|
+
case 'amazon_bedrock':
|
|
48
|
+
// AWS SDK handles credentials automatically - no API key needed
|
|
49
|
+
this.apiKey = 'bedrock-uses-aws-credentials';
|
|
50
|
+
this.model = config.model || process.env.EMBEDDINGS_MODEL || 'amazon.titan-embed-text-v2:0';
|
|
51
|
+
this.dimensions = config.dimensions || 1024; // Titan v2 default
|
|
52
|
+
break;
|
|
46
53
|
}
|
|
47
54
|
if (!this.apiKey) {
|
|
48
55
|
this.available = false;
|
|
@@ -70,6 +77,17 @@ class VercelEmbeddingProvider {
|
|
|
70
77
|
this.modelInstance = mistral.textEmbedding(this.model);
|
|
71
78
|
break;
|
|
72
79
|
}
|
|
80
|
+
case 'amazon_bedrock': {
|
|
81
|
+
// AWS SDK automatically uses credential chain:
|
|
82
|
+
// 1. Environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION)
|
|
83
|
+
// 2. ~/.aws/credentials file
|
|
84
|
+
// 3. IAM roles (EC2 instance profiles, ECS roles, EKS service accounts)
|
|
85
|
+
const bedrock = (0, amazon_bedrock_1.createAmazonBedrock)({
|
|
86
|
+
region: process.env.AWS_REGION || 'us-east-1',
|
|
87
|
+
});
|
|
88
|
+
this.modelInstance = bedrock.textEmbeddingModel(this.model);
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
73
91
|
}
|
|
74
92
|
this.available = true;
|
|
75
93
|
}
|
|
@@ -187,7 +205,7 @@ exports.VercelEmbeddingProvider = VercelEmbeddingProvider;
|
|
|
187
205
|
function createEmbeddingProvider(config = {}) {
|
|
188
206
|
const providerType = (config.provider || process.env.EMBEDDINGS_PROVIDER || 'openai').toLowerCase();
|
|
189
207
|
// Validate provider type
|
|
190
|
-
if (providerType !== 'openai' && providerType !== 'google' && providerType !== 'mistral') {
|
|
208
|
+
if (providerType !== 'openai' && providerType !== 'google' && providerType !== 'mistral' && providerType !== 'amazon_bedrock') {
|
|
191
209
|
console.warn(`Unknown embedding provider: ${providerType}, falling back to openai`);
|
|
192
210
|
return createEmbeddingProvider({ ...config, provider: 'openai' });
|
|
193
211
|
}
|
|
@@ -276,7 +294,8 @@ class EmbeddingService {
|
|
|
276
294
|
const keyMap = {
|
|
277
295
|
'openai': 'OPENAI_API_KEY',
|
|
278
296
|
'google': 'GOOGLE_API_KEY',
|
|
279
|
-
'mistral': 'MISTRAL_API_KEY'
|
|
297
|
+
'mistral': 'MISTRAL_API_KEY',
|
|
298
|
+
'amazon_bedrock': 'AWS credentials (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION)'
|
|
280
299
|
};
|
|
281
300
|
const requiredKey = keyMap[requestedProvider] || 'OPENAI_API_KEY';
|
|
282
301
|
return {
|
|
@@ -17,6 +17,7 @@ export declare const CURRENT_MODELS: {
|
|
|
17
17
|
readonly deepseek: "deepseek-reasoner";
|
|
18
18
|
readonly openrouter: "anthropic/claude-haiku-4.5";
|
|
19
19
|
readonly custom: "gpt-5";
|
|
20
|
+
readonly amazon_bedrock: "global.anthropic.claude-sonnet-4-20250514-v1:0";
|
|
20
21
|
};
|
|
21
22
|
/**
|
|
22
23
|
* Get current model for a provider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-config.d.ts","sourceRoot":"","sources":["../../src/core/model-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"model-config.d.ts","sourceRoot":"","sources":["../../src/core/model-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAcjB,CAAC;AAEX;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,OAAO,cAAc,GAAG,MAAM,CAE7E"}
|
|
@@ -20,7 +20,8 @@ exports.CURRENT_MODELS = {
|
|
|
20
20
|
mistral: 'mistral-large-latest',
|
|
21
21
|
deepseek: 'deepseek-reasoner',
|
|
22
22
|
openrouter: 'anthropic/claude-haiku-4.5', // PRD #194: OpenRouter default model (overridden by AI_MODEL env var)
|
|
23
|
-
custom: 'gpt-5' // PRD #194: Custom endpoint default model (overridden by AI_MODEL env var)
|
|
23
|
+
custom: 'gpt-5', // PRD #194: Custom endpoint default model (overridden by AI_MODEL env var)
|
|
24
|
+
amazon_bedrock: 'global.anthropic.claude-sonnet-4-20250514-v1:0' // PRD #175: Amazon Bedrock default model (overridden by AI_MODEL env var)
|
|
24
25
|
};
|
|
25
26
|
/**
|
|
26
27
|
* Get current model for a provider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-provider.d.ts","sourceRoot":"","sources":["../../../src/core/providers/vercel-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"vercel-provider.d.ts","sourceRoot":"","sources":["../../../src/core/providers/vercel-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EACL,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,0BAA0B,CAAC;AAiBlC,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,aAAa,CAAM;gBAEf,MAAM,EAAE,gBAAgB;IAWpC,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,eAAe;IAkFvB,eAAe,IAAI,MAAM;IAIzB,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,OAAO;IAIxB,OAAO,CAAC,iBAAiB;IAyBnB,WAAW,CACf,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAkB,EAC7B,iBAAiB,CAAC,EAAE;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,UAAU,CAAC;IAoJtB;;;;;;;;;;;;OAYG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAiW/D"}
|
|
@@ -14,6 +14,7 @@ const anthropic_1 = require("@ai-sdk/anthropic");
|
|
|
14
14
|
const xai_1 = require("@ai-sdk/xai");
|
|
15
15
|
const mistral_1 = require("@ai-sdk/mistral");
|
|
16
16
|
const deepseek_1 = require("@ai-sdk/deepseek");
|
|
17
|
+
const amazon_bedrock_1 = require("@ai-sdk/amazon-bedrock");
|
|
17
18
|
const ai_sdk_provider_1 = require("@openrouter/ai-sdk-provider");
|
|
18
19
|
const provider_debug_utils_1 = require("./provider-debug-utils");
|
|
19
20
|
const model_config_1 = require("../model-config");
|
|
@@ -81,6 +82,16 @@ class VercelProvider {
|
|
|
81
82
|
apiKey: this.apiKey,
|
|
82
83
|
});
|
|
83
84
|
break;
|
|
85
|
+
case 'amazon_bedrock':
|
|
86
|
+
// PRD #175: Amazon Bedrock provider
|
|
87
|
+
// AWS SDK automatically uses credential chain:
|
|
88
|
+
// 1. Environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION)
|
|
89
|
+
// 2. ~/.aws/credentials file
|
|
90
|
+
// 3. IAM roles (EC2 instance profiles, ECS roles, EKS service accounts)
|
|
91
|
+
provider = (0, amazon_bedrock_1.createAmazonBedrock)({
|
|
92
|
+
region: process.env.AWS_REGION || 'us-east-1',
|
|
93
|
+
});
|
|
94
|
+
break;
|
|
84
95
|
case 'openrouter':
|
|
85
96
|
// PRD #194: OpenRouter custom endpoint support
|
|
86
97
|
// Use dedicated OpenRouter provider for proper format conversion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/tools/version.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/tools/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAOhD,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,wBAAwB,oDAAoD,CAAC;AAC1F,eAAO,MAAM,yBAAyB;;CAErC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE;QACR,SAAS,EAAE,OAAO,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,EAAE;YACX,QAAQ,EAAE;gBACR,MAAM,EAAE,OAAO,CAAC;gBAChB,cAAc,CAAC,EAAE,MAAM,CAAC;gBACxB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;YACF,QAAQ,EAAE;gBACR,MAAM,EAAE,OAAO,CAAC;gBAChB,cAAc,CAAC,EAAE,MAAM,CAAC;gBACxB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;YACF,YAAY,EAAE;gBACZ,MAAM,EAAE,OAAO,CAAC;gBAChB,cAAc,CAAC,EAAE,MAAM,CAAC;gBACxB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;SACH,CAAC;KACH,CAAC;IACF,SAAS,EAAE;QACT,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,EAAE;QACV,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,CAAC,EAAE;YACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,EAAE;QACZ,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,oBAAoB,EAAE,OAAO,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,OAAO,EAAE;QACP,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,qBAAqB,EAAE,OAAO,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAkOD;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAoIzE;AAqGD;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAqB5C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,CAAC,SAAS,CAAC,CAW1D;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CA2Fd"}
|
package/dist/tools/version.js
CHANGED
|
@@ -546,15 +546,18 @@ async function handleVersionTool(args, logger, requestId) {
|
|
|
546
546
|
patternSearch: embeddingStatus.available ? 'semantic+keyword' : 'keyword-only',
|
|
547
547
|
capabilityScanning: capabilityStatus.systemReady && kubernetesStatus.connected ? 'ready' : 'not-ready',
|
|
548
548
|
kubernetesAccess: kubernetesStatus.connected ? 'connected' : 'disconnected',
|
|
549
|
-
|
|
549
|
+
policyIntentManagement: vectorDBStatus.connected && embeddingStatus.available ? 'ready' : 'not-ready',
|
|
550
|
+
kyvernoPolicyGeneration: kyvernoStatus.policyGenerationReady ? 'ready' : 'not-ready',
|
|
550
551
|
capabilities: [
|
|
551
552
|
vectorDBStatus.connected && vectorDBStatus.collections.patterns.exists ? 'pattern-management' : null,
|
|
552
|
-
|
|
553
|
+
// Policy intent management is available if Vector DB and embedding service are ready
|
|
554
|
+
vectorDBStatus.connected && embeddingStatus.available ? 'policy-intent-management' : null,
|
|
553
555
|
capabilityStatus.systemReady && kubernetesStatus.connected ? 'capability-scanning' : null,
|
|
554
556
|
embeddingStatus.available ? 'semantic-search' : null,
|
|
555
557
|
aiProviderStatus.connected ? 'ai-recommendations' : null,
|
|
556
558
|
kubernetesStatus.connected ? 'kubernetes-integration' : null,
|
|
557
|
-
|
|
559
|
+
// Kyverno policy generation is only available when Kyverno is installed
|
|
560
|
+
kyvernoStatus.policyGenerationReady ? 'kyverno-policy-generation' : null
|
|
558
561
|
].filter(Boolean)
|
|
559
562
|
},
|
|
560
563
|
timestamp: new Date().toISOString()
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vfarcic/dot-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.128.0",
|
|
4
4
|
"description": "AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance",
|
|
5
5
|
"mcpName": "io.github.vfarcic/dot-ai",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"test:integration:grok-fast": "AI_PROVIDER=xai_fast AI_PROVIDER_SDK=vercel DEBUG_DOT_AI=true ./tests/integration/infrastructure/run-integration-tests.sh",
|
|
29
29
|
"test:integration:mistral": "AI_PROVIDER=mistral AI_PROVIDER_SDK=vercel DEBUG_DOT_AI=true ./tests/integration/infrastructure/run-integration-tests.sh",
|
|
30
30
|
"test:integration:deepseek": "AI_PROVIDER=deepseek AI_PROVIDER_SDK=vercel DEBUG_DOT_AI=true ./tests/integration/infrastructure/run-integration-tests.sh",
|
|
31
|
+
"test:integration:bedrock": "AI_PROVIDER=amazon_bedrock AI_MODEL=global.anthropic.claude-sonnet-4-20250514-v1:0 AI_PROVIDER_SDK=vercel DEBUG_DOT_AI=true ./tests/integration/infrastructure/run-integration-tests.sh",
|
|
31
32
|
"test:integration:custom-endpoint": "AI_PROVIDER=openai AI_PROVIDER_SDK=vercel DEBUG_DOT_AI=true ./tests/integration/infrastructure/run-integration-tests.sh",
|
|
32
33
|
"eval:comparative": "DEBUG_DOT_AI=true npx tsx src/evaluation/eval-runner.ts",
|
|
33
34
|
"eval:platform-synthesis": "DEBUG_DOT_AI=true npx tsx src/evaluation/run-platform-synthesis.ts",
|
|
@@ -96,6 +97,7 @@
|
|
|
96
97
|
"vitest": "^3.2.4"
|
|
97
98
|
},
|
|
98
99
|
"dependencies": {
|
|
100
|
+
"@ai-sdk/amazon-bedrock": "^3.0.50",
|
|
99
101
|
"@ai-sdk/anthropic": "^2.0.23",
|
|
100
102
|
"@ai-sdk/deepseek": "^1.0.23",
|
|
101
103
|
"@ai-sdk/google": "^2.0.17",
|