gencode-ai 0.2.0 → 0.3.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.
Files changed (150) hide show
  1. package/dist/agent/agent.d.ts +9 -2
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js +37 -8
  4. package/dist/agent/agent.js.map +1 -1
  5. package/dist/agent/types.d.ts +5 -1
  6. package/dist/agent/types.d.ts.map +1 -1
  7. package/dist/cli/components/App.d.ts.map +1 -1
  8. package/dist/cli/components/App.js +15 -9
  9. package/dist/cli/components/App.js.map +1 -1
  10. package/dist/cli/components/Messages.js +1 -1
  11. package/dist/cli/components/Messages.js.map +1 -1
  12. package/dist/cli/components/ModelSelector.d.ts +4 -3
  13. package/dist/cli/components/ModelSelector.d.ts.map +1 -1
  14. package/dist/cli/components/ModelSelector.js +54 -37
  15. package/dist/cli/components/ModelSelector.js.map +1 -1
  16. package/dist/cli/components/ProviderManager.d.ts +2 -2
  17. package/dist/cli/components/ProviderManager.d.ts.map +1 -1
  18. package/dist/cli/components/ProviderManager.js +137 -156
  19. package/dist/cli/components/ProviderManager.js.map +1 -1
  20. package/dist/cli/index.js +30 -13
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/config/index.d.ts +2 -2
  23. package/dist/config/index.d.ts.map +1 -1
  24. package/dist/config/index.js +1 -1
  25. package/dist/config/index.js.map +1 -1
  26. package/dist/config/levels.d.ts +5 -5
  27. package/dist/config/levels.d.ts.map +1 -1
  28. package/dist/config/levels.js +20 -20
  29. package/dist/config/levels.js.map +1 -1
  30. package/dist/config/merger.js +1 -1
  31. package/dist/config/merger.js.map +1 -1
  32. package/dist/config/providers-config.d.ts +8 -5
  33. package/dist/config/providers-config.d.ts.map +1 -1
  34. package/dist/config/providers-config.js +19 -22
  35. package/dist/config/providers-config.js.map +1 -1
  36. package/dist/config/test-utils.d.ts +2 -2
  37. package/dist/config/test-utils.d.ts.map +1 -1
  38. package/dist/config/test-utils.js +4 -4
  39. package/dist/config/test-utils.js.map +1 -1
  40. package/dist/config/types.d.ts +23 -17
  41. package/dist/config/types.d.ts.map +1 -1
  42. package/dist/config/types.js +14 -14
  43. package/dist/config/types.js.map +1 -1
  44. package/dist/memory/memory-manager.d.ts +25 -12
  45. package/dist/memory/memory-manager.d.ts.map +1 -1
  46. package/dist/memory/memory-manager.js +241 -112
  47. package/dist/memory/memory-manager.js.map +1 -1
  48. package/dist/memory/test-utils.d.ts +1 -1
  49. package/dist/memory/test-utils.d.ts.map +1 -1
  50. package/dist/memory/test-utils.js +3 -3
  51. package/dist/memory/test-utils.js.map +1 -1
  52. package/dist/memory/types.d.ts +20 -10
  53. package/dist/memory/types.d.ts.map +1 -1
  54. package/dist/memory/types.js +13 -13
  55. package/dist/memory/types.js.map +1 -1
  56. package/dist/migration/migrate.d.ts +24 -0
  57. package/dist/migration/migrate.d.ts.map +1 -0
  58. package/dist/migration/migrate.js +164 -0
  59. package/dist/migration/migrate.js.map +1 -0
  60. package/dist/permissions/persistence.d.ts +2 -2
  61. package/dist/permissions/persistence.js +4 -4
  62. package/dist/permissions/persistence.js.map +1 -1
  63. package/dist/planning/plan-file.d.ts +1 -1
  64. package/dist/planning/plan-file.js +2 -2
  65. package/dist/planning/plan-file.js.map +1 -1
  66. package/dist/prompts/index.d.ts +5 -4
  67. package/dist/prompts/index.d.ts.map +1 -1
  68. package/dist/prompts/index.js +11 -8
  69. package/dist/prompts/index.js.map +1 -1
  70. package/dist/providers/anthropic.d.ts +2 -1
  71. package/dist/providers/anthropic.d.ts.map +1 -1
  72. package/dist/providers/anthropic.js +7 -0
  73. package/dist/providers/anthropic.js.map +1 -1
  74. package/dist/providers/gemini.d.ts +2 -1
  75. package/dist/providers/gemini.d.ts.map +1 -1
  76. package/dist/providers/gemini.js +7 -0
  77. package/dist/providers/gemini.js.map +1 -1
  78. package/dist/providers/index.d.ts +20 -10
  79. package/dist/providers/index.d.ts.map +1 -1
  80. package/dist/providers/index.js +48 -24
  81. package/dist/providers/index.js.map +1 -1
  82. package/dist/providers/openai.d.ts +2 -1
  83. package/dist/providers/openai.d.ts.map +1 -1
  84. package/dist/providers/openai.js +7 -0
  85. package/dist/providers/openai.js.map +1 -1
  86. package/dist/providers/registry.d.ts +48 -34
  87. package/dist/providers/registry.d.ts.map +1 -1
  88. package/dist/providers/registry.js +72 -88
  89. package/dist/providers/registry.js.map +1 -1
  90. package/dist/providers/store.d.ts +43 -17
  91. package/dist/providers/store.d.ts.map +1 -1
  92. package/dist/providers/store.js +112 -19
  93. package/dist/providers/store.js.map +1 -1
  94. package/dist/providers/types.d.ts +23 -0
  95. package/dist/providers/types.d.ts.map +1 -1
  96. package/dist/providers/vertex-ai.d.ts +15 -7
  97. package/dist/providers/vertex-ai.d.ts.map +1 -1
  98. package/dist/providers/vertex-ai.js +46 -13
  99. package/dist/providers/vertex-ai.js.map +1 -1
  100. package/dist/session/types.js +1 -1
  101. package/dist/session/types.js.map +1 -1
  102. package/docs/config-system-comparison.md +50 -50
  103. package/docs/cost-tracking-comparison.md +2 -2
  104. package/docs/memory-system.md +124 -31
  105. package/docs/permissions.md +2 -2
  106. package/docs/proposals/0006-memory-system.md +4 -4
  107. package/docs/proposals/0008-checkpointing.md +109 -2
  108. package/docs/proposals/0011-custom-commands.md +2 -1
  109. package/docs/proposals/0021-skills-system.md +2 -1
  110. package/docs/proposals/0023-permission-enhancements.md +2 -2
  111. package/docs/proposals/0033-enterprise-deployment.md +1 -1
  112. package/docs/proposals/0041-configuration-system.md +17 -19
  113. package/docs/proposals/0042-prompt-optimization.md +17 -9
  114. package/docs/proposals/README.md +5 -5
  115. package/docs/providers.md +94 -9
  116. package/package.json +3 -2
  117. package/scripts/migrate.ts +449 -0
  118. package/src/agent/agent.ts +51 -9
  119. package/src/agent/types.ts +5 -1
  120. package/src/cli/components/App.tsx +17 -8
  121. package/src/cli/components/Messages.tsx +1 -1
  122. package/src/cli/components/ModelSelector.tsx +62 -43
  123. package/src/cli/components/ProviderManager.tsx +278 -323
  124. package/src/cli/index.tsx +36 -17
  125. package/src/config/index.ts +5 -3
  126. package/src/config/levels.test.ts +22 -22
  127. package/src/config/levels.ts +22 -22
  128. package/src/config/loader.test.ts +14 -14
  129. package/src/config/manager.test.ts +19 -19
  130. package/src/config/merger.test.ts +23 -23
  131. package/src/config/merger.ts +1 -1
  132. package/src/config/providers-config.ts +23 -21
  133. package/src/config/test-utils.ts +6 -6
  134. package/src/config/types.ts +30 -20
  135. package/src/memory/memory-manager.test.ts +242 -24
  136. package/src/memory/memory-manager.ts +270 -141
  137. package/src/memory/test-utils.ts +4 -4
  138. package/src/memory/types.ts +28 -17
  139. package/src/permissions/persistence.ts +4 -4
  140. package/src/planning/plan-file.ts +2 -2
  141. package/src/prompts/index.ts +13 -9
  142. package/src/providers/anthropic.ts +9 -0
  143. package/src/providers/gemini.ts +9 -0
  144. package/src/providers/index.ts +76 -33
  145. package/src/providers/openai.ts +9 -0
  146. package/src/providers/registry.ts +116 -111
  147. package/src/providers/store.ts +130 -28
  148. package/src/providers/types.ts +33 -1
  149. package/src/providers/vertex-ai.ts +49 -13
  150. package/src/session/types.ts +1 -1
@@ -1,20 +1,58 @@
1
1
  /**
2
- * Provider Registry - Provider definitions with connection options
2
+ * Provider Registry - Provider class registry with metadata
3
3
  */
4
- import type { ProviderName } from './index.js';
4
+ import type { Provider, AuthMethod, ProviderClassMeta, LLMProvider } from './types.js';
5
5
  import type { SearchProviderName } from './search/types.js';
6
+ export type ProviderClass = {
7
+ new (config?: any): LLMProvider;
8
+ meta: ProviderClassMeta;
9
+ };
10
+ /**
11
+ * All registered provider classes
12
+ * Each class has static metadata describing which provider and auth method it implements
13
+ */
14
+ export declare const PROVIDER_CLASSES: ProviderClass[];
15
+ /**
16
+ * Provider metadata (for UI display)
17
+ */
18
+ export interface ProviderMeta {
19
+ id: Provider;
20
+ name: string;
21
+ popularity: number;
22
+ }
23
+ export declare const PROVIDER_METADATA: ProviderMeta[];
24
+ /**
25
+ * Get a specific provider class by provider and auth method
26
+ */
27
+ export declare function getProviderClass(provider: Provider, authMethod: AuthMethod): ProviderClass | undefined;
28
+ /**
29
+ * Get all provider classes for a given provider
30
+ */
31
+ export declare function getProviderClasses(provider: Provider): ProviderClass[];
32
+ /**
33
+ * Check if a provider class is ready (has required env vars)
34
+ */
35
+ export declare function isProviderReady(providerClass: ProviderClass): boolean;
36
+ /**
37
+ * Get provider metadata by ID
38
+ */
39
+ export declare function getProviderMeta(id: Provider): ProviderMeta | undefined;
40
+ /**
41
+ * Get all providers sorted by popularity
42
+ */
43
+ export declare function getProvidersSorted(): ProviderMeta[];
44
+ /**
45
+ * Get the first available (ready) provider class for a provider
46
+ */
47
+ export declare function getAvailableProviderClass(provider: Provider): ProviderClass | undefined;
48
+ /**
49
+ * Get all available (ready) provider classes for a provider
50
+ */
51
+ export declare function getAvailableProviderClasses(provider: Provider): ProviderClass[];
6
52
  export interface ConnectionOption {
7
- method: string;
8
53
  name: string;
9
54
  envVars: string[];
10
55
  description?: string;
11
- providerImpl?: ProviderName;
12
- }
13
- export interface ProviderDefinition {
14
- id: ProviderName;
15
- name: string;
16
- popularity: number;
17
- connections: ConnectionOption[];
18
56
  }
19
57
  export interface SearchProviderDefinition {
20
58
  id: SearchProviderName;
@@ -23,18 +61,10 @@ export interface SearchProviderDefinition {
23
61
  connections: ConnectionOption[];
24
62
  requiresKey: boolean;
25
63
  }
26
- /**
27
- * All supported providers with their connection options
28
- */
29
- export declare const PROVIDERS: ProviderDefinition[];
30
64
  /**
31
65
  * All supported search providers
32
66
  */
33
67
  export declare const SEARCH_PROVIDERS: SearchProviderDefinition[];
34
- /**
35
- * Get provider definition by ID
36
- */
37
- export declare function getProvider(id: ProviderName): ProviderDefinition | undefined;
38
68
  /**
39
69
  * Get search provider definition by ID
40
70
  */
@@ -43,24 +73,8 @@ export declare function getSearchProvider(id: SearchProviderName): SearchProvide
43
73
  * Get all search providers sorted by popularity
44
74
  */
45
75
  export declare function getSearchProvidersSorted(): SearchProviderDefinition[];
46
- /**
47
- * Get all providers sorted by popularity
48
- */
49
- export declare function getProvidersSorted(): ProviderDefinition[];
50
- /**
51
- * Check if any of the provider's env vars are set
52
- */
53
- export declare function hasEnvVars(provider: ProviderDefinition): boolean;
54
- /**
55
- * Get the first available connection method (where env vars are set)
56
- */
57
- export declare function getAvailableConnection(provider: ProviderDefinition): ConnectionOption | undefined;
58
76
  /**
59
77
  * Check if a specific connection option has its env vars set
60
78
  */
61
79
  export declare function isConnectionReady(conn: ConnectionOption): boolean;
62
- /**
63
- * Get all available (ready) connections for a provider
64
- */
65
- export declare function getAvailableConnections(provider: ProviderDefinition): ConnectionOption[];
66
80
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,kBAAkB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,kBAAkB,EAqDzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,wBAAwB,EA2CtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,kBAAkB,GAAG,SAAS,CAE5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,GAAG,wBAAwB,GAAG,SAAS,CAE9F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,wBAAwB,EAAE,CAErE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,kBAAkB,EAAE,CAEzD;AAKD;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,kBAAkB,GAC3B,gBAAgB,GAAG,SAAS,CAE9B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,kBAAkB,GAC3B,gBAAgB,EAAE,CAEpB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAU5D,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,MAAM,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAK3C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,iBAAiB,EAAE,YAAY,EAI3C,CAAC;AAMF;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,GACrB,aAAa,GAAG,SAAS,CAI3B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAcrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS,CAEtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAEnD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,CAGvF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,EAAE,CAE/E;AAMD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,kBAAkB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,wBAAwB,EAwCtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,GAAG,wBAAwB,GAAG,SAAS,CAE9F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,wBAAwB,EAAE,CAErE;AAKD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAEjE"}
@@ -1,63 +1,80 @@
1
1
  /**
2
- * Provider Registry - Provider definitions with connection options
2
+ * Provider Registry - Provider class registry with metadata
3
3
  */
4
+ import { AnthropicProvider } from './anthropic.js';
5
+ import { AnthropicVertexProvider } from './vertex-ai.js';
6
+ import { OpenAIProvider } from './openai.js';
7
+ import { GeminiProvider } from './gemini.js';
4
8
  /**
5
- * All supported providers with their connection options
9
+ * All registered provider classes
10
+ * Each class has static metadata describing which provider and auth method it implements
6
11
  */
7
- export const PROVIDERS = [
8
- {
9
- id: 'anthropic',
10
- name: 'Anthropic',
11
- popularity: 1,
12
- connections: [
13
- {
14
- method: 'api_key',
15
- name: 'API Key',
16
- envVars: ['ANTHROPIC_API_KEY'],
17
- description: 'Direct API access',
18
- },
19
- {
20
- method: 'vertex',
21
- name: 'Google Vertex AI',
22
- envVars: ['ANTHROPIC_VERTEX_PROJECT_ID', 'GOOGLE_CLOUD_PROJECT'],
23
- description: 'Claude via GCP',
24
- providerImpl: 'vertex-ai',
25
- },
26
- {
27
- method: 'bedrock',
28
- name: 'Amazon Bedrock',
29
- envVars: ['AWS_ACCESS_KEY_ID', 'AWS_PROFILE'],
30
- description: 'Claude via AWS (coming soon)',
31
- },
32
- ],
33
- },
34
- {
35
- id: 'openai',
36
- name: 'OpenAI',
37
- popularity: 2,
38
- connections: [
39
- {
40
- method: 'api_key',
41
- name: 'API Key',
42
- envVars: ['OPENAI_API_KEY'],
43
- description: 'Direct API access',
44
- },
45
- ],
46
- },
47
- {
48
- id: 'gemini',
49
- name: 'Google Gemini',
50
- popularity: 3,
51
- connections: [
52
- {
53
- method: 'api_key',
54
- name: 'API Key',
55
- envVars: ['GOOGLE_API_KEY', 'GEMINI_API_KEY'],
56
- description: 'Direct API access',
57
- },
58
- ],
59
- },
12
+ export const PROVIDER_CLASSES = [
13
+ AnthropicProvider,
14
+ AnthropicVertexProvider,
15
+ OpenAIProvider,
16
+ GeminiProvider,
17
+ ];
18
+ export const PROVIDER_METADATA = [
19
+ { id: 'anthropic', name: 'Anthropic', popularity: 1 },
20
+ { id: 'openai', name: 'OpenAI', popularity: 2 },
21
+ { id: 'gemini', name: 'Google Gemini', popularity: 3 },
60
22
  ];
23
+ // ============================================================================
24
+ // Helper Functions
25
+ // ============================================================================
26
+ /**
27
+ * Get a specific provider class by provider and auth method
28
+ */
29
+ export function getProviderClass(provider, authMethod) {
30
+ return PROVIDER_CLASSES.find((cls) => cls.meta.provider === provider && cls.meta.authMethod === authMethod);
31
+ }
32
+ /**
33
+ * Get all provider classes for a given provider
34
+ */
35
+ export function getProviderClasses(provider) {
36
+ return PROVIDER_CLASSES.filter((cls) => cls.meta.provider === provider);
37
+ }
38
+ /**
39
+ * Check if a provider class is ready (has required env vars)
40
+ */
41
+ export function isProviderReady(providerClass) {
42
+ // Special case for Vertex AI: requires explicit opt-in
43
+ if (providerClass.meta.authMethod === 'vertex') {
44
+ const useVertex = process.env.CLAUDE_CODE_USE_VERTEX === '1' || process.env.CLAUDE_CODE_USE_VERTEX === 'true';
45
+ const hasProject = !!(process.env.ANTHROPIC_VERTEX_PROJECT_ID ||
46
+ process.env.GCLOUD_PROJECT ||
47
+ process.env.GOOGLE_CLOUD_PROJECT);
48
+ return useVertex && hasProject;
49
+ }
50
+ // For other providers: check if any required env var is set
51
+ return providerClass.meta.envVars.some((v) => !!process.env[v]);
52
+ }
53
+ /**
54
+ * Get provider metadata by ID
55
+ */
56
+ export function getProviderMeta(id) {
57
+ return PROVIDER_METADATA.find((p) => p.id === id);
58
+ }
59
+ /**
60
+ * Get all providers sorted by popularity
61
+ */
62
+ export function getProvidersSorted() {
63
+ return [...PROVIDER_METADATA].sort((a, b) => a.popularity - b.popularity);
64
+ }
65
+ /**
66
+ * Get the first available (ready) provider class for a provider
67
+ */
68
+ export function getAvailableProviderClass(provider) {
69
+ const classes = getProviderClasses(provider);
70
+ return classes.find((cls) => isProviderReady(cls));
71
+ }
72
+ /**
73
+ * Get all available (ready) provider classes for a provider
74
+ */
75
+ export function getAvailableProviderClasses(provider) {
76
+ return getProviderClasses(provider).filter((cls) => isProviderReady(cls));
77
+ }
61
78
  /**
62
79
  * All supported search providers
63
80
  */
@@ -68,7 +85,6 @@ export const SEARCH_PROVIDERS = [
68
85
  popularity: 1,
69
86
  connections: [
70
87
  {
71
- method: 'public',
72
88
  name: 'Public API',
73
89
  envVars: [],
74
90
  description: 'No API key required',
@@ -82,7 +98,6 @@ export const SEARCH_PROVIDERS = [
82
98
  popularity: 2,
83
99
  connections: [
84
100
  {
85
- method: 'api_key',
86
101
  name: 'API Key',
87
102
  envVars: ['SERPER_API_KEY'],
88
103
  description: 'Google Search via Serper',
@@ -96,7 +111,6 @@ export const SEARCH_PROVIDERS = [
96
111
  popularity: 3,
97
112
  connections: [
98
113
  {
99
- method: 'api_key',
100
114
  name: 'API Key',
101
115
  envVars: ['BRAVE_API_KEY'],
102
116
  description: 'Privacy-focused search',
@@ -105,12 +119,6 @@ export const SEARCH_PROVIDERS = [
105
119
  requiresKey: true,
106
120
  },
107
121
  ];
108
- /**
109
- * Get provider definition by ID
110
- */
111
- export function getProvider(id) {
112
- return PROVIDERS.find((p) => p.id === id);
113
- }
114
122
  /**
115
123
  * Get search provider definition by ID
116
124
  */
@@ -123,36 +131,12 @@ export function getSearchProvider(id) {
123
131
  export function getSearchProvidersSorted() {
124
132
  return [...SEARCH_PROVIDERS].sort((a, b) => a.popularity - b.popularity);
125
133
  }
126
- /**
127
- * Get all providers sorted by popularity
128
- */
129
- export function getProvidersSorted() {
130
- return [...PROVIDERS].sort((a, b) => a.popularity - b.popularity);
131
- }
132
134
  // Helper: check if any env var in the list is set
133
135
  const hasAnyEnvVar = (envVars) => envVars.some((v) => !!process.env[v]);
134
- /**
135
- * Check if any of the provider's env vars are set
136
- */
137
- export function hasEnvVars(provider) {
138
- return provider.connections.some((conn) => hasAnyEnvVar(conn.envVars));
139
- }
140
- /**
141
- * Get the first available connection method (where env vars are set)
142
- */
143
- export function getAvailableConnection(provider) {
144
- return provider.connections.find((conn) => hasAnyEnvVar(conn.envVars));
145
- }
146
136
  /**
147
137
  * Check if a specific connection option has its env vars set
148
138
  */
149
139
  export function isConnectionReady(conn) {
150
140
  return hasAnyEnvVar(conn.envVars);
151
141
  }
152
- /**
153
- * Get all available (ready) connections for a provider
154
- */
155
- export function getAvailableConnections(provider) {
156
- return provider.connections.filter((conn) => hasAnyEnvVar(conn.envVars));
157
- }
158
142
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4BH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAyB;IAC7C;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE;YACX;gBACE,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC,mBAAmB,CAAC;gBAC9B,WAAW,EAAE,mBAAmB;aACjC;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,CAAC,6BAA6B,EAAE,sBAAsB,CAAC;gBAChE,WAAW,EAAE,gBAAgB;gBAC7B,YAAY,EAAE,WAAW;aAC1B;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,CAAC,mBAAmB,EAAE,aAAa,CAAC;gBAC7C,WAAW,EAAE,8BAA8B;aAC5C;SACF;KACF;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC;QACb,WAAW,EAAE;YACX;gBACE,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC,gBAAgB,CAAC;gBAC3B,WAAW,EAAE,mBAAmB;aACjC;SACF;KACF;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE;YACX;gBACE,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAC7C,WAAW,EAAE,mBAAmB;aACjC;SACF;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D;QACE,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC;QACb,WAAW,EAAE;YACX;gBACE,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,qBAAqB;aACnC;SACF;QACD,WAAW,EAAE,KAAK;KACnB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE;YACX;gBACE,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC,gBAAgB,CAAC;gBAC3B,WAAW,EAAE,0BAA0B;aACxC;SACF;QACD,WAAW,EAAE,IAAI;KAClB;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE;YACX;gBACE,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC,eAAe,CAAC;gBAC1B,WAAW,EAAE,wBAAwB;aACtC;SACF;QACD,WAAW,EAAE,IAAI;KAClB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAgB;IAC1C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAsB;IACtD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,kDAAkD;AAClD,MAAM,YAAY,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAA4B;IACrD,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA4B;IAE5B,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAsB;IACtD,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAA4B;IAE5B,OAAO,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,17 @@
1
1
  /**
2
2
  * Provider Store - Manages provider connections and model cache
3
3
  *
4
- * Storage location: ~/.gencode/providers.json
4
+ * Storage location: ~/.gen/providers.json
5
5
  */
6
- import type { ProviderName } from './index.js';
6
+ import type { Provider, AuthMethod } from './types.js';
7
7
  import type { SearchProviderName } from './search/types.js';
8
8
  export interface ModelInfo {
9
9
  id: string;
10
10
  name: string;
11
11
  }
12
12
  export interface ProviderConnection {
13
- method: string;
13
+ authMethod: AuthMethod;
14
+ method?: string;
14
15
  connectedAt: string;
15
16
  }
16
17
  export interface ModelCache {
@@ -22,6 +23,17 @@ export interface ProvidersConfig {
22
23
  models: Record<string, ModelCache>;
23
24
  searchProvider?: SearchProviderName;
24
25
  }
26
+ /**
27
+ * Generate model cache key from provider and authMethod
28
+ */
29
+ export declare function getModelCacheKey(provider: Provider, authMethod: AuthMethod): string;
30
+ /**
31
+ * Parse model cache key to extract provider and authMethod
32
+ */
33
+ export declare function parseModelCacheKey(key: string): {
34
+ provider: Provider;
35
+ authMethod: AuthMethod;
36
+ } | null;
25
37
  /**
26
38
  * Provider Store - manages connection state and model cache
27
39
  */
@@ -39,51 +51,65 @@ export declare class ProviderStore {
39
51
  /**
40
52
  * Check if a provider is connected
41
53
  */
42
- isConnected(providerId: ProviderName): boolean;
54
+ isConnected(providerId: Provider): boolean;
43
55
  /**
44
56
  * Get connection info for a provider
45
57
  */
46
- getConnection(providerId: ProviderName): ProviderConnection | undefined;
58
+ getConnection(providerId: Provider): ProviderConnection | undefined;
47
59
  /**
48
60
  * Get all connected provider IDs
49
61
  */
50
- getConnectedProviders(): ProviderName[];
62
+ getConnectedProviders(): Provider[];
51
63
  /**
52
- * Connect a provider
64
+ * Connect a provider with auth method
53
65
  */
54
- connect(providerId: ProviderName, method: string): void;
66
+ connect(providerId: Provider, authMethod: AuthMethod, displayName?: string): void;
55
67
  /**
56
- * Disconnect a provider
68
+ * Disconnect a provider and clear all its model caches
57
69
  */
58
- disconnect(providerId: ProviderName): void;
70
+ disconnect(providerId: Provider): void;
59
71
  /**
60
72
  * Get cached models for a provider
73
+ * @param providerId Provider ID
74
+ * @param authMethod Optional: specific auth method. If not provided, returns all models for the provider
61
75
  */
62
- getModels(providerId: ProviderName): ModelInfo[];
76
+ getModels(providerId: Provider, authMethod?: AuthMethod): ModelInfo[];
63
77
  /**
64
78
  * Get all cached models grouped by provider
65
79
  */
66
- getAllModels(): Record<ProviderName, ModelInfo[]>;
80
+ getAllModels(): Record<Provider, ModelInfo[]>;
67
81
  /**
68
- * Cache models for a provider
82
+ * Cache models for a provider with auth method
69
83
  */
70
- cacheModels(providerId: ProviderName, models: ModelInfo[]): void;
84
+ cacheModels(providerId: Provider, authMethod: AuthMethod, models: ModelInfo[]): void;
71
85
  /**
72
86
  * Get cache timestamp for a provider
87
+ * @param providerId Provider ID
88
+ * @param authMethod Optional: specific auth method. If not provided, returns latest cache time
73
89
  */
74
- getCacheTime(providerId: ProviderName): Date | undefined;
90
+ getCacheTime(providerId: Provider, authMethod?: AuthMethod): Date | undefined;
75
91
  /**
76
92
  * Check if model cache is stale (older than 24 hours)
93
+ * @param providerId Provider ID
94
+ * @param authMethod Optional: specific auth method. If not provided, checks if any cache is fresh
77
95
  */
78
- isCacheStale(providerId: ProviderName): boolean;
96
+ isCacheStale(providerId: Provider, authMethod?: AuthMethod): boolean;
79
97
  /**
80
98
  * Get total model count across all connected providers
81
99
  */
82
100
  getTotalModelCount(): number;
83
101
  /**
84
102
  * Get model count for a specific provider
103
+ * @param providerId Provider ID
104
+ * @param authMethod Optional: specific auth method. If not provided, counts all models for the provider
105
+ */
106
+ getModelCount(providerId: Provider, authMethod?: AuthMethod): number;
107
+ /**
108
+ * Get the model cache info
109
+ * @param providerId Provider ID
110
+ * @param authMethod Optional: specific auth method
85
111
  */
86
- getModelCount(providerId: ProviderName): number;
112
+ getModelCache(providerId: Provider, authMethod?: AuthMethod): ModelCache | undefined;
87
113
  /**
88
114
  * Get the configured search provider
89
115
  */
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/providers/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAKD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAkB;;IAMhC;;OAEG;IACH,OAAO,CAAC,IAAI;IAYZ;;OAEG;IACH,OAAO,CAAC,IAAI;IAWZ;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO;IAI9C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,YAAY,GAAG,kBAAkB,GAAG,SAAS;IAIvE;;OAEG;IACH,qBAAqB,IAAI,YAAY,EAAE;IAIvC;;OAEG;IACH,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQvD;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI;IAM1C;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,YAAY,GAAG,SAAS,EAAE;IAIhD;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC;IAQjD;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI;IAQhE;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS;IAKxD;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO;IAO/C;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAO5B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,YAAY,GAAG,MAAM;IAI/C;;OAEG;IACH,iBAAiB,IAAI,kBAAkB,GAAG,SAAS;IAInD;;OAEG;IACH,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAK/C;;OAEG;IACH,mBAAmB,IAAI,IAAI;CAI5B;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/providers/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAEnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CAOrG;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAkB;;IAMhC;;OAEG;IACH,OAAO,CAAC,IAAI;IAYZ;;OAEG;IACH,OAAO,CAAC,IAAI;IAWZ;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,QAAQ,GAAG,OAAO;IAI1C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS;IAInE;;OAEG;IACH,qBAAqB,IAAI,QAAQ,EAAE;IAInC;;OAEG;IACH,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IASjF;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,QAAQ,GAAG,IAAI;IActC;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,EAAE;IAkBrE;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;IAQ7C;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI;IASpF;;;;OAIG;IACH,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS;IAqB7E;;;;OAIG;IACH,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO;IAOpE;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAO5B;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM;IAiBpE;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS;IAgBpF;;OAEG;IACH,iBAAiB,IAAI,kBAAkB,GAAG,SAAS;IAInD;;OAEG;IACH,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAK/C;;OAEG;IACH,mBAAmB,IAAI,IAAI;CAI5B;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD"}