monty-autonomous-fullstack-dev-multillm 1.0.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/LICENSE +81 -0
- package/README.md +608 -0
- package/bin/cli.js +448 -0
- package/dist/agents/coding.d.ts +15 -0
- package/dist/agents/coding.d.ts.map +1 -0
- package/dist/agents/coding.js +189 -0
- package/dist/agents/coding.js.map +1 -0
- package/dist/agents/initializer.d.ts +15 -0
- package/dist/agents/initializer.d.ts.map +1 -0
- package/dist/agents/initializer.js +87 -0
- package/dist/agents/initializer.js.map +1 -0
- package/dist/agents/prompts/arbitrator.md +143 -0
- package/dist/agents/prompts/coding.md +247 -0
- package/dist/agents/prompts/initializer.md +98 -0
- package/dist/config/agent-config.d.ts +103 -0
- package/dist/config/agent-config.d.ts.map +1 -0
- package/dist/config/agent-config.js +138 -0
- package/dist/config/agent-config.js.map +1 -0
- package/dist/config/auth-config.d.ts +152 -0
- package/dist/config/auth-config.d.ts.map +1 -0
- package/dist/config/auth-config.js +139 -0
- package/dist/config/auth-config.js.map +1 -0
- package/dist/config/mcp-config.d.ts +109 -0
- package/dist/config/mcp-config.d.ts.map +1 -0
- package/dist/config/mcp-config.js +234 -0
- package/dist/config/mcp-config.js.map +1 -0
- package/dist/config/provider-config.d.ts +139 -0
- package/dist/config/provider-config.d.ts.map +1 -0
- package/dist/config/provider-config.js +344 -0
- package/dist/config/provider-config.js.map +1 -0
- package/dist/config/subagents-config.d.ts +85 -0
- package/dist/config/subagents-config.d.ts.map +1 -0
- package/dist/config/subagents-config.js +430 -0
- package/dist/config/subagents-config.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +385 -0
- package/dist/index.js.map +1 -0
- package/dist/orchestrator/arbitrator.d.ts +93 -0
- package/dist/orchestrator/arbitrator.d.ts.map +1 -0
- package/dist/orchestrator/arbitrator.js +330 -0
- package/dist/orchestrator/arbitrator.js.map +1 -0
- package/dist/orchestrator/index.d.ts +113 -0
- package/dist/orchestrator/index.d.ts.map +1 -0
- package/dist/orchestrator/index.js +217 -0
- package/dist/orchestrator/index.js.map +1 -0
- package/dist/orchestrator/review-coordinator.d.ts +143 -0
- package/dist/orchestrator/review-coordinator.d.ts.map +1 -0
- package/dist/orchestrator/review-coordinator.js +401 -0
- package/dist/orchestrator/review-coordinator.js.map +1 -0
- package/dist/orchestrator/task-classifier.d.ts +87 -0
- package/dist/orchestrator/task-classifier.d.ts.map +1 -0
- package/dist/orchestrator/task-classifier.js +250 -0
- package/dist/orchestrator/task-classifier.js.map +1 -0
- package/dist/providers/anthropic-provider.d.ts +64 -0
- package/dist/providers/anthropic-provider.d.ts.map +1 -0
- package/dist/providers/anthropic-provider.js +264 -0
- package/dist/providers/anthropic-provider.js.map +1 -0
- package/dist/providers/base-provider.d.ts +219 -0
- package/dist/providers/base-provider.d.ts.map +1 -0
- package/dist/providers/base-provider.js +143 -0
- package/dist/providers/base-provider.js.map +1 -0
- package/dist/providers/cursor-provider.d.ts +82 -0
- package/dist/providers/cursor-provider.d.ts.map +1 -0
- package/dist/providers/cursor-provider.js +321 -0
- package/dist/providers/cursor-provider.js.map +1 -0
- package/dist/providers/google-provider.d.ts +75 -0
- package/dist/providers/google-provider.d.ts.map +1 -0
- package/dist/providers/google-provider.js +274 -0
- package/dist/providers/google-provider.js.map +1 -0
- package/dist/providers/index.d.ts +92 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +233 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/openai-provider.d.ts +83 -0
- package/dist/providers/openai-provider.d.ts.map +1 -0
- package/dist/providers/openai-provider.js +295 -0
- package/dist/providers/openai-provider.js.map +1 -0
- package/dist/templates/feature_list.template.json +66 -0
- package/dist/templates/progress.template.txt +51 -0
- package/dist/utils/auth-manager.d.ts +121 -0
- package/dist/utils/auth-manager.d.ts.map +1 -0
- package/dist/utils/auth-manager.js +560 -0
- package/dist/utils/auth-manager.js.map +1 -0
- package/dist/utils/budget-enforcer.d.ts +181 -0
- package/dist/utils/budget-enforcer.d.ts.map +1 -0
- package/dist/utils/budget-enforcer.js +386 -0
- package/dist/utils/budget-enforcer.js.map +1 -0
- package/dist/utils/chatgpt-detector.d.ts +51 -0
- package/dist/utils/chatgpt-detector.d.ts.map +1 -0
- package/dist/utils/chatgpt-detector.js +274 -0
- package/dist/utils/chatgpt-detector.js.map +1 -0
- package/dist/utils/claude-code-detector.d.ts +39 -0
- package/dist/utils/claude-code-detector.d.ts.map +1 -0
- package/dist/utils/claude-code-detector.js +153 -0
- package/dist/utils/claude-code-detector.js.map +1 -0
- package/dist/utils/code-quality.d.ts +58 -0
- package/dist/utils/code-quality.d.ts.map +1 -0
- package/dist/utils/code-quality.js +258 -0
- package/dist/utils/code-quality.js.map +1 -0
- package/dist/utils/context-primer.d.ts +50 -0
- package/dist/utils/context-primer.d.ts.map +1 -0
- package/dist/utils/context-primer.js +429 -0
- package/dist/utils/context-primer.js.map +1 -0
- package/dist/utils/dependency-management.d.ts +40 -0
- package/dist/utils/dependency-management.d.ts.map +1 -0
- package/dist/utils/dependency-management.js +123 -0
- package/dist/utils/dependency-management.js.map +1 -0
- package/dist/utils/environment-validation.d.ts +33 -0
- package/dist/utils/environment-validation.d.ts.map +1 -0
- package/dist/utils/environment-validation.js +136 -0
- package/dist/utils/environment-validation.js.map +1 -0
- package/dist/utils/error-recovery.d.ts +60 -0
- package/dist/utils/error-recovery.d.ts.map +1 -0
- package/dist/utils/error-recovery.js +183 -0
- package/dist/utils/error-recovery.js.map +1 -0
- package/dist/utils/feature-list.d.ts +102 -0
- package/dist/utils/feature-list.d.ts.map +1 -0
- package/dist/utils/feature-list.js +191 -0
- package/dist/utils/feature-list.js.map +1 -0
- package/dist/utils/gemini-detector.d.ts +65 -0
- package/dist/utils/gemini-detector.d.ts.map +1 -0
- package/dist/utils/gemini-detector.js +340 -0
- package/dist/utils/gemini-detector.js.map +1 -0
- package/dist/utils/git-utils.d.ts +48 -0
- package/dist/utils/git-utils.d.ts.map +1 -0
- package/dist/utils/git-utils.js +110 -0
- package/dist/utils/git-utils.js.map +1 -0
- package/dist/utils/health-check.d.ts +32 -0
- package/dist/utils/health-check.d.ts.map +1 -0
- package/dist/utils/health-check.js +152 -0
- package/dist/utils/health-check.js.map +1 -0
- package/dist/utils/hooks-manager.d.ts +154 -0
- package/dist/utils/hooks-manager.d.ts.map +1 -0
- package/dist/utils/hooks-manager.js +359 -0
- package/dist/utils/hooks-manager.js.map +1 -0
- package/dist/utils/multi-auth-manager.d.ts +144 -0
- package/dist/utils/multi-auth-manager.d.ts.map +1 -0
- package/dist/utils/multi-auth-manager.js +588 -0
- package/dist/utils/multi-auth-manager.js.map +1 -0
- package/dist/utils/progress.d.ts +49 -0
- package/dist/utils/progress.d.ts.map +1 -0
- package/dist/utils/progress.js +209 -0
- package/dist/utils/progress.js.map +1 -0
- package/dist/utils/project-detection.d.ts +40 -0
- package/dist/utils/project-detection.d.ts.map +1 -0
- package/dist/utils/project-detection.js +230 -0
- package/dist/utils/project-detection.js.map +1 -0
- package/dist/utils/session-manager.d.ts +119 -0
- package/dist/utils/session-manager.d.ts.map +1 -0
- package/dist/utils/session-manager.js +389 -0
- package/dist/utils/session-manager.js.map +1 -0
- package/dist/utils/skills-manager.d.ts +113 -0
- package/dist/utils/skills-manager.d.ts.map +1 -0
- package/dist/utils/skills-manager.js +332 -0
- package/dist/utils/skills-manager.js.map +1 -0
- package/dist/utils/structured-output.d.ts +117 -0
- package/dist/utils/structured-output.d.ts.map +1 -0
- package/dist/utils/structured-output.js +191 -0
- package/dist/utils/structured-output.js.map +1 -0
- package/dist/utils/subagent-manager.d.ts +143 -0
- package/dist/utils/subagent-manager.d.ts.map +1 -0
- package/dist/utils/subagent-manager.js +326 -0
- package/dist/utils/subagent-manager.js.map +1 -0
- package/dist/utils/supabase-setup.d.ts +50 -0
- package/dist/utils/supabase-setup.d.ts.map +1 -0
- package/dist/utils/supabase-setup.js +151 -0
- package/dist/utils/supabase-setup.js.map +1 -0
- package/dist/utils/token-refresh.d.ts +21 -0
- package/dist/utils/token-refresh.d.ts.map +1 -0
- package/dist/utils/token-refresh.js +77 -0
- package/dist/utils/token-refresh.js.map +1 -0
- package/dist/utils/tos-warning.d.ts +115 -0
- package/dist/utils/tos-warning.d.ts.map +1 -0
- package/dist/utils/tos-warning.js +304 -0
- package/dist/utils/tos-warning.js.map +1 -0
- package/dist/utils/usage-monitor.d.ts +156 -0
- package/dist/utils/usage-monitor.d.ts.map +1 -0
- package/dist/utils/usage-monitor.js +296 -0
- package/dist/utils/usage-monitor.js.map +1 -0
- package/package.json +105 -0
- package/scripts/init.ps1 +73 -0
- package/scripts/init.sh +86 -0
- package/scripts/test-auth.sh +90 -0
- package/templates/feature_list.template.json +66 -0
- package/templates/progress.template.txt +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-provider.js","sourceRoot":"","sources":["../../src/providers/google-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Factory
|
|
3
|
+
* Central factory for creating and managing AI provider instances.
|
|
4
|
+
* Supports multi-provider orchestration with automatic fallback.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) 2025 Dobeu Tech Solutions LLC
|
|
7
|
+
* Licensed under CC BY-NC 4.0
|
|
8
|
+
*/
|
|
9
|
+
import { BaseProvider, type AgentMessage, type QueryOptions } from './base-provider.js';
|
|
10
|
+
import { AnthropicProvider } from './anthropic-provider.js';
|
|
11
|
+
import { OpenAIProvider } from './openai-provider.js';
|
|
12
|
+
import { GoogleProvider } from './google-provider.js';
|
|
13
|
+
import { CursorProvider } from './cursor-provider.js';
|
|
14
|
+
import { type ProviderName } from '../config/provider-config.js';
|
|
15
|
+
/**
|
|
16
|
+
* Get or create a provider instance
|
|
17
|
+
*/
|
|
18
|
+
export declare function getProvider(name: ProviderName, apiKey?: string): BaseProvider;
|
|
19
|
+
/**
|
|
20
|
+
* Create a new provider instance
|
|
21
|
+
*/
|
|
22
|
+
export declare function createProvider(name: ProviderName, apiKey?: string): BaseProvider;
|
|
23
|
+
/**
|
|
24
|
+
* Get all available providers (initialized and authenticated)
|
|
25
|
+
*/
|
|
26
|
+
export declare function getAvailableProviders(): Promise<BaseProvider[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Check which providers are available and return their status
|
|
29
|
+
*/
|
|
30
|
+
export declare function getProviderStatuses(): Promise<Map<ProviderName, {
|
|
31
|
+
available: boolean;
|
|
32
|
+
authenticated: boolean;
|
|
33
|
+
error?: string;
|
|
34
|
+
}>>;
|
|
35
|
+
/**
|
|
36
|
+
* Get the default provider (Anthropic)
|
|
37
|
+
*/
|
|
38
|
+
export declare function getDefaultProvider(): BaseProvider;
|
|
39
|
+
/**
|
|
40
|
+
* Clear provider registry (for testing or re-initialization)
|
|
41
|
+
*/
|
|
42
|
+
export declare function clearProviderRegistry(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Provider factory configuration
|
|
45
|
+
*/
|
|
46
|
+
export interface ProviderFactoryConfig {
|
|
47
|
+
defaultProvider: ProviderName;
|
|
48
|
+
fallbackEnabled: boolean;
|
|
49
|
+
fallbackOrder: ProviderName[];
|
|
50
|
+
credentials: Partial<Record<ProviderName, string>>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Configure the provider factory
|
|
54
|
+
*/
|
|
55
|
+
export declare function configureProviderFactory(config: Partial<ProviderFactoryConfig>): void;
|
|
56
|
+
/**
|
|
57
|
+
* Get current factory configuration
|
|
58
|
+
*/
|
|
59
|
+
export declare function getFactoryConfig(): ProviderFactoryConfig;
|
|
60
|
+
/**
|
|
61
|
+
* Execute a query with automatic fallback
|
|
62
|
+
* Tries the primary provider first, then falls back to alternatives if enabled
|
|
63
|
+
*/
|
|
64
|
+
export declare function queryWithFallback(prompt: string, options: QueryOptions & {
|
|
65
|
+
preferredProvider?: ProviderName;
|
|
66
|
+
}): AsyncGenerator<AgentMessage, void, unknown>;
|
|
67
|
+
/**
|
|
68
|
+
* Check if a specific provider is available
|
|
69
|
+
*/
|
|
70
|
+
export declare function isProviderAvailable(name: ProviderName): Promise<boolean>;
|
|
71
|
+
/**
|
|
72
|
+
* Get provider by name with type assertion
|
|
73
|
+
*/
|
|
74
|
+
export declare function getAnthropicProvider(apiKey?: string): AnthropicProvider;
|
|
75
|
+
export declare function getOpenAIProvider(apiKey?: string): OpenAIProvider;
|
|
76
|
+
export declare function getGoogleProvider(apiKey?: string): GoogleProvider;
|
|
77
|
+
export declare function getCursorProvider(apiKey?: string): CursorProvider;
|
|
78
|
+
export { BaseProvider, AnthropicProvider, OpenAIProvider, GoogleProvider, CursorProvider, type AgentMessage, type QueryOptions, };
|
|
79
|
+
declare const _default: {
|
|
80
|
+
getProvider: typeof getProvider;
|
|
81
|
+
createProvider: typeof createProvider;
|
|
82
|
+
getAvailableProviders: typeof getAvailableProviders;
|
|
83
|
+
getProviderStatuses: typeof getProviderStatuses;
|
|
84
|
+
getDefaultProvider: typeof getDefaultProvider;
|
|
85
|
+
clearProviderRegistry: typeof clearProviderRegistry;
|
|
86
|
+
configureProviderFactory: typeof configureProviderFactory;
|
|
87
|
+
getFactoryConfig: typeof getFactoryConfig;
|
|
88
|
+
queryWithFallback: typeof queryWithFallback;
|
|
89
|
+
isProviderAvailable: typeof isProviderAvailable;
|
|
90
|
+
};
|
|
91
|
+
export default _default;
|
|
92
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAA2B,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAwB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAwB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAwB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,8BAA8B,CAAC;AAOtC;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAe7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAahF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAmBrE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC,CA0BF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,YAAY,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAcD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,CASrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,qBAAqB,CAExD;AAED;;;GAGG;AACH,wBAAuB,iBAAiB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,GAAG;IAAE,iBAAiB,CAAC,EAAE,YAAY,CAAA;CAAE,GAC3D,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAsD7C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAO9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAEvE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAEjE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAEjE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAEjE;AAGD,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,CAAC;;;;;;;;;;;;;AAEF,wBAWE"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Factory
|
|
3
|
+
* Central factory for creating and managing AI provider instances.
|
|
4
|
+
* Supports multi-provider orchestration with automatic fallback.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) 2025 Dobeu Tech Solutions LLC
|
|
7
|
+
* Licensed under CC BY-NC 4.0
|
|
8
|
+
*/
|
|
9
|
+
import { BaseProvider } from './base-provider.js';
|
|
10
|
+
import { AnthropicProvider, createAnthropicProvider } from './anthropic-provider.js';
|
|
11
|
+
import { OpenAIProvider, createOpenAIProvider } from './openai-provider.js';
|
|
12
|
+
import { GoogleProvider, createGoogleProvider } from './google-provider.js';
|
|
13
|
+
import { CursorProvider, createCursorProvider } from './cursor-provider.js';
|
|
14
|
+
import { PROVIDER_CONFIGS, getProviderConfig, } from '../config/provider-config.js';
|
|
15
|
+
/**
|
|
16
|
+
* Provider registry - singleton instances
|
|
17
|
+
*/
|
|
18
|
+
const providerRegistry = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* Get or create a provider instance
|
|
21
|
+
*/
|
|
22
|
+
export function getProvider(name, apiKey) {
|
|
23
|
+
// Check if already created
|
|
24
|
+
let provider = providerRegistry.get(name);
|
|
25
|
+
if (provider) {
|
|
26
|
+
// Update API key if provided
|
|
27
|
+
if (apiKey && 'setApiKey' in provider) {
|
|
28
|
+
provider.setApiKey(apiKey);
|
|
29
|
+
}
|
|
30
|
+
return provider;
|
|
31
|
+
}
|
|
32
|
+
// Create new provider
|
|
33
|
+
provider = createProvider(name, apiKey);
|
|
34
|
+
providerRegistry.set(name, provider);
|
|
35
|
+
return provider;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create a new provider instance
|
|
39
|
+
*/
|
|
40
|
+
export function createProvider(name, apiKey) {
|
|
41
|
+
switch (name) {
|
|
42
|
+
case 'anthropic':
|
|
43
|
+
return createAnthropicProvider(apiKey);
|
|
44
|
+
case 'openai':
|
|
45
|
+
return createOpenAIProvider(apiKey);
|
|
46
|
+
case 'google':
|
|
47
|
+
return createGoogleProvider(apiKey);
|
|
48
|
+
case 'cursor':
|
|
49
|
+
return createCursorProvider(apiKey);
|
|
50
|
+
default:
|
|
51
|
+
throw new Error(`Unknown provider: ${name}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get all available providers (initialized and authenticated)
|
|
56
|
+
*/
|
|
57
|
+
export async function getAvailableProviders() {
|
|
58
|
+
const available = [];
|
|
59
|
+
for (const config of Object.values(PROVIDER_CONFIGS)) {
|
|
60
|
+
if (!config.enabled)
|
|
61
|
+
continue;
|
|
62
|
+
try {
|
|
63
|
+
const provider = getProvider(config.name);
|
|
64
|
+
const isValid = await provider.validateCredentials();
|
|
65
|
+
if (isValid) {
|
|
66
|
+
available.push(provider);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Provider not available (SDK not installed, etc.)
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return available;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Check which providers are available and return their status
|
|
78
|
+
*/
|
|
79
|
+
export async function getProviderStatuses() {
|
|
80
|
+
const statuses = new Map();
|
|
81
|
+
for (const config of Object.values(PROVIDER_CONFIGS)) {
|
|
82
|
+
try {
|
|
83
|
+
const provider = getProvider(config.name);
|
|
84
|
+
const isAuthenticated = await provider.validateCredentials();
|
|
85
|
+
statuses.set(config.name, {
|
|
86
|
+
available: provider.getStatus().available,
|
|
87
|
+
authenticated: isAuthenticated,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
statuses.set(config.name, {
|
|
92
|
+
available: false,
|
|
93
|
+
authenticated: false,
|
|
94
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return statuses;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get the default provider (Anthropic)
|
|
102
|
+
*/
|
|
103
|
+
export function getDefaultProvider() {
|
|
104
|
+
return getProvider('anthropic');
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Clear provider registry (for testing or re-initialization)
|
|
108
|
+
*/
|
|
109
|
+
export function clearProviderRegistry() {
|
|
110
|
+
providerRegistry.clear();
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Default factory configuration
|
|
114
|
+
*/
|
|
115
|
+
const defaultFactoryConfig = {
|
|
116
|
+
defaultProvider: 'anthropic',
|
|
117
|
+
fallbackEnabled: true,
|
|
118
|
+
fallbackOrder: ['anthropic', 'openai', 'google', 'cursor'],
|
|
119
|
+
credentials: {},
|
|
120
|
+
};
|
|
121
|
+
let factoryConfig = { ...defaultFactoryConfig };
|
|
122
|
+
/**
|
|
123
|
+
* Configure the provider factory
|
|
124
|
+
*/
|
|
125
|
+
export function configureProviderFactory(config) {
|
|
126
|
+
factoryConfig = { ...factoryConfig, ...config };
|
|
127
|
+
// Initialize providers with credentials
|
|
128
|
+
for (const [name, apiKey] of Object.entries(config.credentials ?? {})) {
|
|
129
|
+
if (apiKey) {
|
|
130
|
+
getProvider(name, apiKey);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get current factory configuration
|
|
136
|
+
*/
|
|
137
|
+
export function getFactoryConfig() {
|
|
138
|
+
return { ...factoryConfig };
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Execute a query with automatic fallback
|
|
142
|
+
* Tries the primary provider first, then falls back to alternatives if enabled
|
|
143
|
+
*/
|
|
144
|
+
export async function* queryWithFallback(prompt, options) {
|
|
145
|
+
const providerOrder = options.preferredProvider
|
|
146
|
+
? [options.preferredProvider, ...factoryConfig.fallbackOrder.filter(p => p !== options.preferredProvider)]
|
|
147
|
+
: factoryConfig.fallbackOrder;
|
|
148
|
+
let lastError = null;
|
|
149
|
+
for (const providerName of providerOrder) {
|
|
150
|
+
const config = getProviderConfig(providerName);
|
|
151
|
+
if (!config.enabled)
|
|
152
|
+
continue;
|
|
153
|
+
try {
|
|
154
|
+
const provider = getProvider(providerName);
|
|
155
|
+
// Check if provider is authenticated
|
|
156
|
+
const isValid = await provider.validateCredentials();
|
|
157
|
+
if (!isValid)
|
|
158
|
+
continue;
|
|
159
|
+
// Execute query
|
|
160
|
+
for await (const message of provider.query(prompt, options)) {
|
|
161
|
+
yield message;
|
|
162
|
+
// If we get a successful result, we're done
|
|
163
|
+
if (message.type === 'result' && message.subtype === 'success') {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// If we got here without error, we're done
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
172
|
+
console.warn(`Provider ${providerName} failed: ${lastError.message}`);
|
|
173
|
+
if (!factoryConfig.fallbackEnabled) {
|
|
174
|
+
throw lastError;
|
|
175
|
+
}
|
|
176
|
+
// Continue to next provider
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// All providers failed
|
|
181
|
+
yield {
|
|
182
|
+
type: 'error',
|
|
183
|
+
content: [{
|
|
184
|
+
type: 'text',
|
|
185
|
+
text: `All providers failed. Last error: ${lastError?.message ?? 'Unknown error'}`,
|
|
186
|
+
}],
|
|
187
|
+
metadata: {
|
|
188
|
+
provider: factoryConfig.defaultProvider,
|
|
189
|
+
},
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Check if a specific provider is available
|
|
194
|
+
*/
|
|
195
|
+
export async function isProviderAvailable(name) {
|
|
196
|
+
try {
|
|
197
|
+
const provider = getProvider(name);
|
|
198
|
+
return await provider.validateCredentials();
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Get provider by name with type assertion
|
|
206
|
+
*/
|
|
207
|
+
export function getAnthropicProvider(apiKey) {
|
|
208
|
+
return getProvider('anthropic', apiKey);
|
|
209
|
+
}
|
|
210
|
+
export function getOpenAIProvider(apiKey) {
|
|
211
|
+
return getProvider('openai', apiKey);
|
|
212
|
+
}
|
|
213
|
+
export function getGoogleProvider(apiKey) {
|
|
214
|
+
return getProvider('google', apiKey);
|
|
215
|
+
}
|
|
216
|
+
export function getCursorProvider(apiKey) {
|
|
217
|
+
return getProvider('cursor', apiKey);
|
|
218
|
+
}
|
|
219
|
+
// Re-export types and classes
|
|
220
|
+
export { BaseProvider, AnthropicProvider, OpenAIProvider, GoogleProvider, CursorProvider, };
|
|
221
|
+
export default {
|
|
222
|
+
getProvider,
|
|
223
|
+
createProvider,
|
|
224
|
+
getAvailableProviders,
|
|
225
|
+
getProviderStatuses,
|
|
226
|
+
getDefaultProvider,
|
|
227
|
+
clearProviderRegistry,
|
|
228
|
+
configureProviderFactory,
|
|
229
|
+
getFactoryConfig,
|
|
230
|
+
queryWithFallback,
|
|
231
|
+
isProviderAvailable,
|
|
232
|
+
};
|
|
233
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Provider (Codex SDK)
|
|
3
|
+
* Wrapper around OpenAI's Codex SDK for multi-provider orchestration.
|
|
4
|
+
* Supports thread-based conversations and code execution.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) 2025 Dobeu Tech Solutions LLC
|
|
7
|
+
* Licensed under CC BY-NC 4.0
|
|
8
|
+
*/
|
|
9
|
+
import { BaseProvider, type AgentMessage, type QueryOptions, type ProviderCapabilities, type ModelInfo } from './base-provider.js';
|
|
10
|
+
import { type ProviderName } from '../config/provider-config.js';
|
|
11
|
+
/**
|
|
12
|
+
* OpenAI Provider Implementation
|
|
13
|
+
* Wraps the Codex SDK for use in multi-provider orchestration
|
|
14
|
+
*/
|
|
15
|
+
export declare class OpenAIProvider extends BaseProvider {
|
|
16
|
+
readonly name: ProviderName;
|
|
17
|
+
readonly displayName = "Codex (OpenAI)";
|
|
18
|
+
readonly packageName = "@openai/codex-sdk";
|
|
19
|
+
private config;
|
|
20
|
+
private apiKey;
|
|
21
|
+
private codexClient;
|
|
22
|
+
private currentThread;
|
|
23
|
+
private currentThreadId;
|
|
24
|
+
constructor(apiKey?: string);
|
|
25
|
+
/**
|
|
26
|
+
* Initialize the Codex SDK client
|
|
27
|
+
*/
|
|
28
|
+
private initializeClient;
|
|
29
|
+
/**
|
|
30
|
+
* Execute a query using the Codex SDK
|
|
31
|
+
*/
|
|
32
|
+
query(prompt: string, options: QueryOptions): AsyncGenerator<AgentMessage, void, unknown>;
|
|
33
|
+
/**
|
|
34
|
+
* Validate OpenAI API credentials
|
|
35
|
+
*/
|
|
36
|
+
validateCredentials(): Promise<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* List available OpenAI models
|
|
39
|
+
*/
|
|
40
|
+
listModels(): Promise<ModelInfo[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Get OpenAI provider capabilities
|
|
43
|
+
*/
|
|
44
|
+
getCapabilities(): ProviderCapabilities;
|
|
45
|
+
/**
|
|
46
|
+
* Get list of supported standard tools
|
|
47
|
+
*/
|
|
48
|
+
getSupportedTools(): string[];
|
|
49
|
+
/**
|
|
50
|
+
* Map standard tool name to OpenAI tool name
|
|
51
|
+
*/
|
|
52
|
+
mapToolName(standardTool: string): string | null;
|
|
53
|
+
/**
|
|
54
|
+
* Resume a previous thread
|
|
55
|
+
*/
|
|
56
|
+
resumeThread(threadId: string): Promise<boolean>;
|
|
57
|
+
/**
|
|
58
|
+
* Get current thread ID
|
|
59
|
+
*/
|
|
60
|
+
getCurrentThreadId(): string | null;
|
|
61
|
+
/**
|
|
62
|
+
* Clear current thread (start fresh on next query)
|
|
63
|
+
*/
|
|
64
|
+
clearThread(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Normalize Codex result to standard format
|
|
67
|
+
*/
|
|
68
|
+
protected normalizeMessage(rawMessage: unknown): AgentMessage;
|
|
69
|
+
/**
|
|
70
|
+
* Set API key at runtime
|
|
71
|
+
*/
|
|
72
|
+
setApiKey(key: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* Get the current API key (masked for display)
|
|
75
|
+
*/
|
|
76
|
+
getApiKeyPreview(): string | null;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Create a new OpenAI provider instance
|
|
80
|
+
*/
|
|
81
|
+
export declare function createOpenAIProvider(apiKey?: string): OpenAIProvider;
|
|
82
|
+
export default OpenAIProvider;
|
|
83
|
+
//# sourceMappingURL=openai-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-provider.d.ts","sourceRoot":"","sources":["../../src/providers/openai-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,8BAA8B,CAAC;AAsBtC;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAY;IACvC,QAAQ,CAAC,WAAW,oBAAoB;IACxC,QAAQ,CAAC,WAAW,uBAAuB;IAE3C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,eAAe,CAAuB;gBAElC,MAAM,CAAC,EAAE,MAAM;IAO3B;;OAEG;YACW,gBAAgB;IAqC9B;;OAEG;IACI,KAAK,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,GACpB,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC;IAuE9C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAyB7C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAUxC;;OAEG;IACH,eAAe,IAAI,oBAAoB;IAIvC;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAM7B;;OAEG;IACH,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKhD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAetD;;OAEG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAInC;;OAEG;IACH,WAAW,IAAI,IAAI;IAKnB;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,YAAY;IA8C7D;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS5B;;OAEG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;CAIlC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAEpE;AAED,eAAe,cAAc,CAAC"}
|