oh-my-claude-sisyphus 1.11.2 → 2.0.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.
Files changed (207) hide show
  1. package/README.md +37 -12
  2. package/dist/__tests__/example.test.d.ts +2 -0
  3. package/dist/__tests__/example.test.d.ts.map +1 -0
  4. package/dist/__tests__/example.test.js +20 -0
  5. package/dist/__tests__/example.test.js.map +1 -0
  6. package/dist/__tests__/hooks.test.d.ts +2 -0
  7. package/dist/__tests__/hooks.test.d.ts.map +1 -0
  8. package/dist/__tests__/hooks.test.js +644 -0
  9. package/dist/__tests__/hooks.test.js.map +1 -0
  10. package/dist/__tests__/installer.test.d.ts +2 -0
  11. package/dist/__tests__/installer.test.d.ts.map +1 -0
  12. package/dist/__tests__/installer.test.js +369 -0
  13. package/dist/__tests__/installer.test.js.map +1 -0
  14. package/dist/__tests__/model-routing.test.d.ts +2 -0
  15. package/dist/__tests__/model-routing.test.d.ts.map +1 -0
  16. package/dist/__tests__/model-routing.test.js +814 -0
  17. package/dist/__tests__/model-routing.test.js.map +1 -0
  18. package/dist/__tests__/skills.test.d.ts +2 -0
  19. package/dist/__tests__/skills.test.d.ts.map +1 -0
  20. package/dist/__tests__/skills.test.js +126 -0
  21. package/dist/__tests__/skills.test.js.map +1 -0
  22. package/dist/__tests__/types.test.d.ts +2 -0
  23. package/dist/__tests__/types.test.d.ts.map +1 -0
  24. package/dist/__tests__/types.test.js +77 -0
  25. package/dist/__tests__/types.test.js.map +1 -0
  26. package/dist/agents/definitions.d.ts +1 -1
  27. package/dist/agents/definitions.d.ts.map +1 -1
  28. package/dist/agents/definitions.js +35 -3
  29. package/dist/agents/definitions.js.map +1 -1
  30. package/dist/agents/index.d.ts +1 -1
  31. package/dist/agents/index.d.ts.map +1 -1
  32. package/dist/agents/index.js +3 -1
  33. package/dist/agents/index.js.map +1 -1
  34. package/dist/agents/oracle.d.ts.map +1 -1
  35. package/dist/agents/oracle.js +43 -1
  36. package/dist/agents/oracle.js.map +1 -1
  37. package/dist/agents/orchestrator-sisyphus.js +2 -2
  38. package/dist/agents/orchestrator-sisyphus.js.map +1 -1
  39. package/dist/cli/index.js +22 -11
  40. package/dist/cli/index.js.map +1 -1
  41. package/dist/config/loader.d.ts.map +1 -1
  42. package/dist/config/loader.js +49 -0
  43. package/dist/config/loader.js.map +1 -1
  44. package/dist/features/auto-update.d.ts.map +1 -1
  45. package/dist/features/auto-update.js +14 -3
  46. package/dist/features/auto-update.js.map +1 -1
  47. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  48. package/dist/features/builtin-skills/skills.js +0 -1351
  49. package/dist/features/builtin-skills/skills.js.map +1 -1
  50. package/dist/features/index.d.ts +1 -0
  51. package/dist/features/index.d.ts.map +1 -1
  52. package/dist/features/index.js +14 -0
  53. package/dist/features/index.js.map +1 -1
  54. package/dist/features/model-routing/index.d.ts +34 -0
  55. package/dist/features/model-routing/index.d.ts.map +1 -0
  56. package/dist/features/model-routing/index.js +48 -0
  57. package/dist/features/model-routing/index.js.map +1 -0
  58. package/dist/features/model-routing/prompts/haiku.d.ts +54 -0
  59. package/dist/features/model-routing/prompts/haiku.d.ts.map +1 -0
  60. package/dist/features/model-routing/prompts/haiku.js +141 -0
  61. package/dist/features/model-routing/prompts/haiku.js.map +1 -0
  62. package/dist/features/model-routing/prompts/index.d.ts +45 -0
  63. package/dist/features/model-routing/prompts/index.d.ts.map +1 -0
  64. package/dist/features/model-routing/prompts/index.js +116 -0
  65. package/dist/features/model-routing/prompts/index.js.map +1 -0
  66. package/dist/features/model-routing/prompts/opus.d.ts +34 -0
  67. package/dist/features/model-routing/prompts/opus.d.ts.map +1 -0
  68. package/dist/features/model-routing/prompts/opus.js +153 -0
  69. package/dist/features/model-routing/prompts/opus.js.map +1 -0
  70. package/dist/features/model-routing/prompts/sonnet.d.ts +38 -0
  71. package/dist/features/model-routing/prompts/sonnet.d.ts.map +1 -0
  72. package/dist/features/model-routing/prompts/sonnet.js +149 -0
  73. package/dist/features/model-routing/prompts/sonnet.js.map +1 -0
  74. package/dist/features/model-routing/router.d.ts +92 -0
  75. package/dist/features/model-routing/router.d.ts.map +1 -0
  76. package/dist/features/model-routing/router.js +267 -0
  77. package/dist/features/model-routing/router.js.map +1 -0
  78. package/dist/features/model-routing/rules.d.ts +32 -0
  79. package/dist/features/model-routing/rules.d.ts.map +1 -0
  80. package/dist/features/model-routing/rules.js +224 -0
  81. package/dist/features/model-routing/rules.js.map +1 -0
  82. package/dist/features/model-routing/scorer.d.ts +35 -0
  83. package/dist/features/model-routing/scorer.d.ts.map +1 -0
  84. package/dist/features/model-routing/scorer.js +241 -0
  85. package/dist/features/model-routing/scorer.js.map +1 -0
  86. package/dist/features/model-routing/signals.d.ts +26 -0
  87. package/dist/features/model-routing/signals.d.ts.map +1 -0
  88. package/dist/features/model-routing/signals.js +283 -0
  89. package/dist/features/model-routing/signals.js.map +1 -0
  90. package/dist/features/model-routing/types.d.ts +195 -0
  91. package/dist/features/model-routing/types.d.ts.map +1 -0
  92. package/dist/features/model-routing/types.js +86 -0
  93. package/dist/features/model-routing/types.js.map +1 -0
  94. package/dist/hooks/agent-usage-reminder/index.d.ts +1 -1
  95. package/dist/hooks/agent-usage-reminder/index.d.ts.map +1 -1
  96. package/dist/hooks/agent-usage-reminder/index.js +1 -1
  97. package/dist/hooks/agent-usage-reminder/index.js.map +1 -1
  98. package/dist/hooks/auto-slash-command/executor.js.map +1 -1
  99. package/dist/hooks/auto-slash-command/index.d.ts +3 -3
  100. package/dist/hooks/auto-slash-command/index.d.ts.map +1 -1
  101. package/dist/hooks/auto-slash-command/index.js.map +1 -1
  102. package/dist/hooks/background-notification/index.js +1 -1
  103. package/dist/hooks/background-notification/index.js.map +1 -1
  104. package/dist/hooks/bridge.d.ts.map +1 -1
  105. package/dist/hooks/bridge.js.map +1 -1
  106. package/dist/hooks/comment-checker/filters.d.ts +1 -1
  107. package/dist/hooks/comment-checker/filters.d.ts.map +1 -1
  108. package/dist/hooks/comment-checker/filters.js +1 -1
  109. package/dist/hooks/comment-checker/filters.js.map +1 -1
  110. package/dist/hooks/comment-checker/index.js +1 -1
  111. package/dist/hooks/comment-checker/index.js.map +1 -1
  112. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +1 -1
  113. package/dist/hooks/context-window-limit-recovery/index.js.map +1 -1
  114. package/dist/hooks/index.d.ts +3 -3
  115. package/dist/hooks/index.d.ts.map +1 -1
  116. package/dist/hooks/index.js +3 -3
  117. package/dist/hooks/index.js.map +1 -1
  118. package/dist/hooks/keyword-detector/index.d.ts +1 -1
  119. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  120. package/dist/hooks/keyword-detector/index.js +1 -1
  121. package/dist/hooks/keyword-detector/index.js.map +1 -1
  122. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  123. package/dist/hooks/persistent-mode/index.js.map +1 -1
  124. package/dist/hooks/plugin-patterns/index.d.ts.map +1 -1
  125. package/dist/hooks/plugin-patterns/index.js +12 -22
  126. package/dist/hooks/plugin-patterns/index.js.map +1 -1
  127. package/dist/hooks/preemptive-compaction/index.d.ts +2 -2
  128. package/dist/hooks/preemptive-compaction/index.d.ts.map +1 -1
  129. package/dist/hooks/preemptive-compaction/index.js +1 -11
  130. package/dist/hooks/preemptive-compaction/index.js.map +1 -1
  131. package/dist/hooks/ralph-loop/index.js.map +1 -1
  132. package/dist/hooks/rules-injector/matcher.js +1 -1
  133. package/dist/hooks/rules-injector/matcher.js.map +1 -1
  134. package/dist/hooks/session-recovery/index.d.ts +1 -1
  135. package/dist/hooks/session-recovery/index.d.ts.map +1 -1
  136. package/dist/hooks/session-recovery/index.js +1 -1
  137. package/dist/hooks/session-recovery/index.js.map +1 -1
  138. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +1 -1
  139. package/dist/hooks/sisyphus-orchestrator/index.js.map +1 -1
  140. package/dist/hooks/ultrawork-state/index.js +1 -1
  141. package/dist/hooks/ultrawork-state/index.js.map +1 -1
  142. package/dist/index.d.ts +2 -2
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js +4 -2
  145. package/dist/index.js.map +1 -1
  146. package/dist/installer/hooks.d.ts +1 -1
  147. package/dist/installer/hooks.js +1 -1
  148. package/dist/installer/index.d.ts +8 -7
  149. package/dist/installer/index.d.ts.map +1 -1
  150. package/dist/installer/index.js +648 -2141
  151. package/dist/installer/index.js.map +1 -1
  152. package/dist/shared/types.d.ts +25 -0
  153. package/dist/shared/types.d.ts.map +1 -1
  154. package/dist/tools/lsp/servers.d.ts.map +1 -1
  155. package/dist/tools/lsp/servers.js +2 -14
  156. package/dist/tools/lsp/servers.js.map +1 -1
  157. package/package.json +18 -10
  158. package/scripts/install.sh +236 -260
  159. package/scripts/test-pr25.sh +525 -0
  160. package/dist/agents/model-lists.d.ts +0 -26
  161. package/dist/agents/model-lists.d.ts.map +0 -1
  162. package/dist/agents/model-lists.js +0 -62
  163. package/dist/agents/model-lists.js.map +0 -1
  164. package/dist/auth/index.d.ts +0 -10
  165. package/dist/auth/index.d.ts.map +0 -1
  166. package/dist/auth/index.js +0 -13
  167. package/dist/auth/index.js.map +0 -1
  168. package/dist/auth/manager.d.ts +0 -54
  169. package/dist/auth/manager.d.ts.map +0 -1
  170. package/dist/auth/manager.js +0 -248
  171. package/dist/auth/manager.js.map +0 -1
  172. package/dist/auth/oauth-google.d.ts +0 -47
  173. package/dist/auth/oauth-google.d.ts.map +0 -1
  174. package/dist/auth/oauth-google.js +0 -280
  175. package/dist/auth/oauth-google.js.map +0 -1
  176. package/dist/auth/oauth-openai.d.ts +0 -46
  177. package/dist/auth/oauth-openai.d.ts.map +0 -1
  178. package/dist/auth/oauth-openai.js +0 -264
  179. package/dist/auth/oauth-openai.js.map +0 -1
  180. package/dist/auth/pkce.d.ts +0 -14
  181. package/dist/auth/pkce.d.ts.map +0 -1
  182. package/dist/auth/pkce.js +0 -35
  183. package/dist/auth/pkce.js.map +0 -1
  184. package/dist/auth/storage.d.ts +0 -52
  185. package/dist/auth/storage.d.ts.map +0 -1
  186. package/dist/auth/storage.js +0 -230
  187. package/dist/auth/storage.js.map +0 -1
  188. package/dist/auth/types.d.ts +0 -76
  189. package/dist/auth/types.d.ts.map +0 -1
  190. package/dist/auth/types.js +0 -5
  191. package/dist/auth/types.js.map +0 -1
  192. package/dist/providers/index.d.ts +0 -8
  193. package/dist/providers/index.d.ts.map +0 -1
  194. package/dist/providers/index.js +0 -10
  195. package/dist/providers/index.js.map +0 -1
  196. package/dist/providers/registry.d.ts +0 -29
  197. package/dist/providers/registry.d.ts.map +0 -1
  198. package/dist/providers/registry.js +0 -162
  199. package/dist/providers/registry.js.map +0 -1
  200. package/dist/providers/router.d.ts +0 -40
  201. package/dist/providers/router.d.ts.map +0 -1
  202. package/dist/providers/router.js +0 -88
  203. package/dist/providers/router.js.map +0 -1
  204. package/dist/providers/types.d.ts +0 -92
  205. package/dist/providers/types.d.ts.map +0 -1
  206. package/dist/providers/types.js +0 -27
  207. package/dist/providers/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/auth/storage.ts"],"names":[],"mappings":"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"}
@@ -1,76 +0,0 @@
1
- /**
2
- * Authentication type definitions
3
- */
4
- import type { ProviderType, AuthType, OAuthTokens } from '../providers/types.js';
5
- /**
6
- * Stored credential for a provider
7
- */
8
- export interface StoredCredential {
9
- /** Provider this credential is for */
10
- provider: ProviderType;
11
- /** Type of authentication */
12
- type: AuthType;
13
- /** Access token (API key for api_key type, OAuth token for oauth type) */
14
- accessToken: string;
15
- /** OAuth refresh token (only for oauth type) */
16
- refreshToken?: string;
17
- /** OAuth ID token (only for OpenAI oauth) */
18
- idToken?: string;
19
- /** Token expiration timestamp in milliseconds (only for oauth type) */
20
- expiresAt?: number;
21
- /** When this credential was created/stored */
22
- createdAt: number;
23
- /** Email associated with the credential (for OAuth) */
24
- email?: string;
25
- }
26
- /**
27
- * Authentication status for a provider
28
- */
29
- export interface AuthStatus {
30
- /** Provider this status is for */
31
- provider: ProviderType;
32
- /** Whether the provider is authenticated */
33
- authenticated: boolean;
34
- /** Type of authentication used */
35
- authType?: AuthType;
36
- /** Token expiration timestamp (for OAuth) */
37
- expiresAt?: number;
38
- /** Email associated with the account (for OAuth) */
39
- email?: string;
40
- /** Error message if authentication failed */
41
- error?: string;
42
- }
43
- /**
44
- * Options for connecting to a provider
45
- */
46
- export interface ConnectOptions {
47
- /** Force re-authentication even if already authenticated */
48
- force?: boolean;
49
- /** API key for direct API key authentication */
50
- apiKey?: string;
51
- }
52
- /**
53
- * Result of an OAuth authentication flow
54
- */
55
- export interface OAuthResult {
56
- /** Whether authentication was successful */
57
- success: boolean;
58
- /** OAuth tokens if successful */
59
- tokens?: OAuthTokens;
60
- /** Error message if failed */
61
- error?: string;
62
- /** Email from the OAuth profile */
63
- email?: string;
64
- }
65
- /**
66
- * PKCE (Proof Key for Code Exchange) data
67
- */
68
- export interface PKCEData {
69
- /** Code verifier (random string) */
70
- codeVerifier: string;
71
- /** Code challenge (SHA-256 hash of verifier, base64url encoded) */
72
- codeChallenge: string;
73
- /** State parameter for CSRF protection */
74
- state: string;
75
- }
76
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,QAAQ,EAAE,YAAY,CAAC;IACvB,6BAA6B;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,4CAA4C;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Authentication type definitions
3
- */
4
- export {};
5
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Provider module exports
3
- */
4
- export type { ProviderType, ModelId, AuthType, ProviderConfig, ResolvedModel, ModelInfo, OAuthTokens, OAuthConfig, } from './types.js';
5
- export { getProviderFromModelId, getModelNameFromId, createModelId, } from './types.js';
6
- export { MODEL_REGISTRY, getModelInfo, getModelsForProvider, isKnownModel, getAllModelIds, DEFAULT_MODELS, } from './registry.js';
7
- export { ModelRouter, createModelRouter } from './router.js';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Provider module exports
3
- */
4
- // Type utilities
5
- export { getProviderFromModelId, getModelNameFromId, createModelId, } from './types.js';
6
- // Registry
7
- export { MODEL_REGISTRY, getModelInfo, getModelsForProvider, isKnownModel, getAllModelIds, DEFAULT_MODELS, } from './registry.js';
8
- // Router
9
- export { ModelRouter, createModelRouter } from './router.js';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,iBAAiB;AACjB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACL,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Model registry with known models and their capabilities
3
- */
4
- import type { ModelId, ModelInfo, ProviderType } from './types.js';
5
- /**
6
- * Registry of known models with their capabilities
7
- */
8
- export declare const MODEL_REGISTRY: Record<string, ModelInfo>;
9
- /**
10
- * Get model info from the registry
11
- */
12
- export declare function getModelInfo(modelId: ModelId): ModelInfo | undefined;
13
- /**
14
- * Get all models for a specific provider
15
- */
16
- export declare function getModelsForProvider(provider: ProviderType): ModelInfo[];
17
- /**
18
- * Check if a model is known in the registry
19
- */
20
- export declare function isKnownModel(modelId: ModelId): boolean;
21
- /**
22
- * Get all known model IDs
23
- */
24
- export declare function getAllModelIds(): ModelId[];
25
- /**
26
- * Get default models for each provider
27
- */
28
- export declare const DEFAULT_MODELS: Record<ProviderType, ModelId>;
29
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA2HpD,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAAE,CAExE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,EAAE,CAE1C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAKxD,CAAC"}
@@ -1,162 +0,0 @@
1
- /**
2
- * Model registry with known models and their capabilities
3
- */
4
- /**
5
- * Registry of known models with their capabilities
6
- */
7
- export const MODEL_REGISTRY = {
8
- // OpenAI Models (OAuth - ChatGPT Plus/Pro)
9
- 'openai/gpt-4o': {
10
- id: 'openai/gpt-4o',
11
- provider: 'openai',
12
- displayName: 'GPT-4o',
13
- contextWindow: 128000,
14
- supportsVision: true,
15
- supportsTools: true,
16
- supportsStreaming: true,
17
- },
18
- 'openai/gpt-4o-mini': {
19
- id: 'openai/gpt-4o-mini',
20
- provider: 'openai',
21
- displayName: 'GPT-4o Mini',
22
- contextWindow: 128000,
23
- supportsVision: true,
24
- supportsTools: true,
25
- supportsStreaming: true,
26
- },
27
- 'openai/o1': {
28
- id: 'openai/o1',
29
- provider: 'openai',
30
- displayName: 'o1',
31
- contextWindow: 200000,
32
- supportsVision: true,
33
- supportsTools: false,
34
- supportsStreaming: false,
35
- },
36
- 'openai/o1-mini': {
37
- id: 'openai/o1-mini',
38
- provider: 'openai',
39
- displayName: 'o1-mini',
40
- contextWindow: 128000,
41
- supportsVision: false,
42
- supportsTools: false,
43
- supportsStreaming: false,
44
- },
45
- 'openai/o1-pro': {
46
- id: 'openai/o1-pro',
47
- provider: 'openai',
48
- displayName: 'o1-pro',
49
- contextWindow: 200000,
50
- supportsVision: true,
51
- supportsTools: false,
52
- supportsStreaming: false,
53
- },
54
- 'openai/o3-mini': {
55
- id: 'openai/o3-mini',
56
- provider: 'openai',
57
- displayName: 'o3-mini',
58
- contextWindow: 200000,
59
- supportsVision: true,
60
- supportsTools: true,
61
- supportsStreaming: true,
62
- },
63
- // Google Models (OAuth - Consumer Account)
64
- 'google/gemini-2.0-flash': {
65
- id: 'google/gemini-2.0-flash',
66
- provider: 'google',
67
- displayName: 'Gemini 2.0 Flash',
68
- contextWindow: 1000000,
69
- supportsVision: true,
70
- supportsTools: true,
71
- supportsStreaming: true,
72
- },
73
- 'google/gemini-2.0-flash-lite': {
74
- id: 'google/gemini-2.0-flash-lite',
75
- provider: 'google',
76
- displayName: 'Gemini 2.0 Flash Lite',
77
- contextWindow: 1000000,
78
- supportsVision: true,
79
- supportsTools: true,
80
- supportsStreaming: true,
81
- },
82
- 'google/gemini-1.5-pro': {
83
- id: 'google/gemini-1.5-pro',
84
- provider: 'google',
85
- displayName: 'Gemini 1.5 Pro',
86
- contextWindow: 2000000,
87
- supportsVision: true,
88
- supportsTools: true,
89
- supportsStreaming: true,
90
- },
91
- 'google/gemini-1.5-flash': {
92
- id: 'google/gemini-1.5-flash',
93
- provider: 'google',
94
- displayName: 'Gemini 1.5 Flash',
95
- contextWindow: 1000000,
96
- supportsVision: true,
97
- supportsTools: true,
98
- supportsStreaming: true,
99
- },
100
- // Anthropic Models (API Key)
101
- 'anthropic/claude-opus-4-5': {
102
- id: 'anthropic/claude-opus-4-5',
103
- provider: 'anthropic',
104
- displayName: 'Claude Opus 4.5',
105
- contextWindow: 200000,
106
- supportsVision: true,
107
- supportsTools: true,
108
- supportsStreaming: true,
109
- },
110
- 'anthropic/claude-sonnet-4-5': {
111
- id: 'anthropic/claude-sonnet-4-5',
112
- provider: 'anthropic',
113
- displayName: 'Claude Sonnet 4.5',
114
- contextWindow: 200000,
115
- supportsVision: true,
116
- supportsTools: true,
117
- supportsStreaming: true,
118
- },
119
- 'anthropic/claude-haiku-4-5': {
120
- id: 'anthropic/claude-haiku-4-5',
121
- provider: 'anthropic',
122
- displayName: 'Claude Haiku 4.5',
123
- contextWindow: 200000,
124
- supportsVision: true,
125
- supportsTools: true,
126
- supportsStreaming: true,
127
- },
128
- };
129
- /**
130
- * Get model info from the registry
131
- */
132
- export function getModelInfo(modelId) {
133
- return MODEL_REGISTRY[modelId];
134
- }
135
- /**
136
- * Get all models for a specific provider
137
- */
138
- export function getModelsForProvider(provider) {
139
- return Object.values(MODEL_REGISTRY).filter(m => m.provider === provider);
140
- }
141
- /**
142
- * Check if a model is known in the registry
143
- */
144
- export function isKnownModel(modelId) {
145
- return modelId in MODEL_REGISTRY;
146
- }
147
- /**
148
- * Get all known model IDs
149
- */
150
- export function getAllModelIds() {
151
- return Object.keys(MODEL_REGISTRY);
152
- }
153
- /**
154
- * Get default models for each provider
155
- */
156
- export const DEFAULT_MODELS = {
157
- anthropic: 'anthropic/claude-sonnet-4-5',
158
- openai: 'openai/gpt-4o',
159
- google: 'google/gemini-2.0-flash',
160
- openrouter: 'openrouter/anthropic/claude-3.5-sonnet', // OpenRouter uses passthrough
161
- };
162
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,2CAA2C;IAC3C,eAAe,EAAE;QACf,EAAE,EAAE,eAAe;QACnB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,QAAQ;QACrB,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB;IACD,oBAAoB,EAAE;QACpB,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB;IACD,WAAW,EAAE;QACX,EAAE,EAAE,WAAW;QACf,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,KAAK;KACzB;IACD,gBAAgB,EAAE;QAChB,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,SAAS;QACtB,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,KAAK;KACzB;IACD,eAAe,EAAE;QACf,EAAE,EAAE,eAAe;QACnB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,QAAQ;QACrB,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,KAAK;KACzB;IACD,gBAAgB,EAAE;QAChB,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,SAAS;QACtB,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB;IAED,2CAA2C;IAC3C,yBAAyB,EAAE;QACzB,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,kBAAkB;QAC/B,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB;IACD,8BAA8B,EAAE;QAC9B,EAAE,EAAE,8BAA8B;QAClC,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,uBAAuB;QACpC,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB;IACD,uBAAuB,EAAE;QACvB,EAAE,EAAE,uBAAuB;QAC3B,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,gBAAgB;QAC7B,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB;IACD,yBAAyB,EAAE;QACzB,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,kBAAkB;QAC/B,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB;IAED,6BAA6B;IAC7B,2BAA2B,EAAE;QAC3B,EAAE,EAAE,2BAA2B;QAC/B,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,iBAAiB;QAC9B,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB;IACD,6BAA6B,EAAE;QAC7B,EAAE,EAAE,6BAA6B;QACjC,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,mBAAmB;QAChC,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB;IACD,4BAA4B,EAAE;QAC5B,EAAE,EAAE,4BAA4B;QAChC,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,kBAAkB;QAC/B,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;KACxB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO,OAAO,IAAI,cAAc,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D,SAAS,EAAE,6BAA6B;IACxC,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,yBAAyB;IACjC,UAAU,EAAE,wCAAwC,EAAE,8BAA8B;CACrF,CAAC"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Model router - resolves agent model preferences to actual models
3
- * based on provider authentication status
4
- */
5
- import type { ModelId, ResolvedModel } from './types.js';
6
- import type { AuthManager } from '../auth/manager.js';
7
- /**
8
- * Model router that resolves agent model lists to available models
9
- */
10
- export declare class ModelRouter {
11
- private authManager;
12
- constructor(authManager: AuthManager);
13
- /**
14
- * Resolve a model list to the first available authenticated model
15
- *
16
- * @param modelList - Ordered list of preferred models
17
- * @returns The resolved model with provider info
18
- * @throws Error if no authenticated provider is available for any model
19
- */
20
- resolveModel(modelList: ModelId[]): Promise<ResolvedModel>;
21
- /**
22
- * Check if any model in the list can be used
23
- *
24
- * @param modelList - List of models to check
25
- * @returns true if at least one model has an authenticated provider
26
- */
27
- canResolve(modelList: ModelId[]): Promise<boolean>;
28
- /**
29
- * Get the first available model from the list without throwing
30
- *
31
- * @param modelList - List of models to check
32
- * @returns The resolved model or null if none available
33
- */
34
- tryResolveModel(modelList: ModelId[]): Promise<ResolvedModel | null>;
35
- }
36
- /**
37
- * Create a model router instance
38
- */
39
- export declare function createModelRouter(authManager: AuthManager): ModelRouter;
40
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/providers/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE5C;;;;;;OAMG;IACG,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAqChE;;;;;OAKG;IACG,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAexD;;;;;OAKG;IACG,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAO3E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAEvE"}
@@ -1,88 +0,0 @@
1
- /**
2
- * Model router - resolves agent model preferences to actual models
3
- * based on provider authentication status
4
- */
5
- import { getProviderFromModelId, getModelNameFromId } from './types.js';
6
- /**
7
- * Model router that resolves agent model lists to available models
8
- */
9
- export class ModelRouter {
10
- authManager;
11
- constructor(authManager) {
12
- this.authManager = authManager;
13
- }
14
- /**
15
- * Resolve a model list to the first available authenticated model
16
- *
17
- * @param modelList - Ordered list of preferred models
18
- * @returns The resolved model with provider info
19
- * @throws Error if no authenticated provider is available for any model
20
- */
21
- async resolveModel(modelList) {
22
- if (!modelList || modelList.length === 0) {
23
- throw new Error('Model list cannot be empty');
24
- }
25
- const triedProviders = [];
26
- for (let i = 0; i < modelList.length; i++) {
27
- const modelId = modelList[i];
28
- const provider = getProviderFromModelId(modelId);
29
- // Skip if we've already tried this provider
30
- if (triedProviders.includes(provider)) {
31
- continue;
32
- }
33
- triedProviders.push(provider);
34
- const isAuthenticated = await this.authManager.isAuthenticated(provider);
35
- if (isAuthenticated) {
36
- return {
37
- provider,
38
- modelId,
39
- modelName: getModelNameFromId(modelId),
40
- isFallback: i > 0,
41
- fallbackReason: i > 0 ? `Primary model "${modelList[0]}" unavailable (provider not authenticated)` : undefined,
42
- };
43
- }
44
- }
45
- // All models exhausted - throw error with details
46
- throw new Error(`No authenticated provider available. Tried models: ${modelList.join(', ')}. ` +
47
- `Run /connect <provider> to authenticate.`);
48
- }
49
- /**
50
- * Check if any model in the list can be used
51
- *
52
- * @param modelList - List of models to check
53
- * @returns true if at least one model has an authenticated provider
54
- */
55
- async canResolve(modelList) {
56
- if (!modelList || modelList.length === 0) {
57
- return false;
58
- }
59
- for (const modelId of modelList) {
60
- const provider = getProviderFromModelId(modelId);
61
- if (await this.authManager.isAuthenticated(provider)) {
62
- return true;
63
- }
64
- }
65
- return false;
66
- }
67
- /**
68
- * Get the first available model from the list without throwing
69
- *
70
- * @param modelList - List of models to check
71
- * @returns The resolved model or null if none available
72
- */
73
- async tryResolveModel(modelList) {
74
- try {
75
- return await this.resolveModel(modelList);
76
- }
77
- catch {
78
- return null;
79
- }
80
- }
81
- }
82
- /**
83
- * Create a model router instance
84
- */
85
- export function createModelRouter(authManager) {
86
- return new ModelRouter(authManager);
87
- }
88
- //# sourceMappingURL=router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/providers/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGxE;;GAEG;AACH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEhD;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,SAAoB;QACrC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,cAAc,GAAmB,EAAE,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAEjD,4CAA4C;YAC5C,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEzE,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO;oBACL,QAAQ;oBACR,OAAO;oBACP,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC;oBACtC,UAAU,EAAE,CAAC,GAAG,CAAC;oBACjB,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,SAAS,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,SAAS;iBAC/G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,MAAM,IAAI,KAAK,CACb,sDAAsD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC9E,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,SAAoB;QACnC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,SAAoB;QACxC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAwB;IACxD,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC"}
@@ -1,92 +0,0 @@
1
- /**
2
- * Provider and model type definitions for multi-provider support
3
- */
4
- /**
5
- * Supported AI providers
6
- */
7
- export type ProviderType = 'anthropic' | 'openai' | 'google' | 'openrouter';
8
- /**
9
- * Model ID format: "provider/model-id"
10
- * Examples: "openai/gpt-4o", "anthropic/claude-opus-4-5", "google/gemini-2.0-flash"
11
- */
12
- export type ModelId = string;
13
- /**
14
- * Authentication type for a provider
15
- */
16
- export type AuthType = 'api_key' | 'oauth';
17
- /**
18
- * Provider configuration and status
19
- */
20
- export interface ProviderConfig {
21
- type: ProviderType;
22
- authenticated: boolean;
23
- authType: AuthType;
24
- }
25
- /**
26
- * Result of model resolution
27
- */
28
- export interface ResolvedModel {
29
- /** The provider that will be used */
30
- provider: ProviderType;
31
- /** The full model ID (e.g., "openai/gpt-4o") */
32
- modelId: ModelId;
33
- /** The model name without provider prefix (e.g., "gpt-4o") */
34
- modelName: string;
35
- /** Whether this is a fallback from the preferred model */
36
- isFallback: boolean;
37
- /** Reason for fallback, if applicable */
38
- fallbackReason?: string;
39
- }
40
- /**
41
- * Model information in the registry
42
- */
43
- export interface ModelInfo {
44
- /** Full model ID (e.g., "openai/gpt-4o") */
45
- id: ModelId;
46
- /** Provider for this model */
47
- provider: ProviderType;
48
- /** Human-readable display name */
49
- displayName: string;
50
- /** Context window size in tokens */
51
- contextWindow: number;
52
- /** Whether the model supports vision/images */
53
- supportsVision: boolean;
54
- /** Whether the model supports tool/function calling */
55
- supportsTools: boolean;
56
- /** Whether the model supports streaming */
57
- supportsStreaming: boolean;
58
- }
59
- /**
60
- * OAuth tokens structure
61
- */
62
- export interface OAuthTokens {
63
- accessToken: string;
64
- refreshToken?: string;
65
- idToken?: string;
66
- expiresAt?: number;
67
- tokenType?: string;
68
- }
69
- /**
70
- * OAuth configuration for a provider
71
- */
72
- export interface OAuthConfig {
73
- clientId: string;
74
- clientSecret?: string;
75
- authUrl: string;
76
- tokenUrl: string;
77
- redirectUri: string;
78
- scopes: string[];
79
- }
80
- /**
81
- * Extract provider from a model ID
82
- */
83
- export declare function getProviderFromModelId(modelId: ModelId): ProviderType;
84
- /**
85
- * Extract model name from a model ID
86
- */
87
- export declare function getModelNameFromId(modelId: ModelId): string;
88
- /**
89
- * Create a model ID from provider and model name
90
- */
91
- export declare function createModelId(provider: ProviderType, modelName: string): ModelId;
92
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE5E;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,QAAQ,EAAE,YAAY,CAAC;IACvB,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,4CAA4C;IAC5C,EAAE,EAAE,OAAO,CAAC;IACZ,8BAA8B;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,cAAc,EAAE,OAAO,CAAC;IACxB,uDAAuD;IACvD,aAAa,EAAE,OAAO,CAAC;IACvB,2CAA2C;IAC3C,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAMrE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAG3D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEhF"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Provider and model type definitions for multi-provider support
3
- */
4
- /**
5
- * Extract provider from a model ID
6
- */
7
- export function getProviderFromModelId(modelId) {
8
- const [provider] = modelId.split('/');
9
- if (!['anthropic', 'openai', 'google', 'openrouter'].includes(provider)) {
10
- throw new Error(`Unknown provider in model ID: ${modelId}`);
11
- }
12
- return provider;
13
- }
14
- /**
15
- * Extract model name from a model ID
16
- */
17
- export function getModelNameFromId(modelId) {
18
- const parts = modelId.split('/');
19
- return parts.slice(1).join('/');
20
- }
21
- /**
22
- * Create a model ID from provider and model name
23
- */
24
- export function createModelId(provider, modelName) {
25
- return `${provider}/${modelName}`;
26
- }
27
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsFH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,QAAwB,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAsB,EAAE,SAAiB;IACrE,OAAO,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC;AACpC,CAAC"}