@syntero/orca-cli 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assistant.d.ts +17 -3
- package/dist/assistant.d.ts.map +1 -1
- package/dist/assistant.js +217 -22
- package/dist/assistant.js.map +1 -1
- package/dist/auth.d.ts +97 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +438 -0
- package/dist/auth.js.map +1 -0
- package/dist/autocomplete.d.ts +24 -0
- package/dist/autocomplete.d.ts.map +1 -0
- package/dist/autocomplete.js +43 -0
- package/dist/autocomplete.js.map +1 -0
- package/dist/components/ChatApp.d.ts +32 -0
- package/dist/components/ChatApp.d.ts.map +1 -0
- package/dist/components/ChatApp.js +470 -0
- package/dist/components/ChatApp.js.map +1 -0
- package/dist/components/CommandPalette.d.ts +15 -0
- package/dist/components/CommandPalette.d.ts.map +1 -0
- package/dist/components/CommandPalette.js +22 -0
- package/dist/components/CommandPalette.js.map +1 -0
- package/dist/components/ConfigWizard.d.ts +25 -0
- package/dist/components/ConfigWizard.d.ts.map +1 -0
- package/dist/components/ConfigWizard.js +401 -0
- package/dist/components/ConfigWizard.js.map +1 -0
- package/dist/components/InputFooter.d.ts +33 -0
- package/dist/components/InputFooter.d.ts.map +1 -0
- package/dist/components/InputFooter.js +618 -0
- package/dist/components/InputFooter.js.map +1 -0
- package/dist/components/InputModal.d.ts +25 -0
- package/dist/components/InputModal.d.ts.map +1 -0
- package/dist/components/InputModal.js +529 -0
- package/dist/components/InputModal.js.map +1 -0
- package/dist/components/ModelMenu.d.ts +24 -0
- package/dist/components/ModelMenu.d.ts.map +1 -0
- package/dist/components/ModelMenu.js +175 -0
- package/dist/components/ModelMenu.js.map +1 -0
- package/dist/components/ProviderMenu.d.ts +20 -0
- package/dist/components/ProviderMenu.d.ts.map +1 -0
- package/dist/components/ProviderMenu.js +31 -0
- package/dist/components/ProviderMenu.js.map +1 -0
- package/dist/components/SyncMenu.d.ts +23 -0
- package/dist/components/SyncMenu.d.ts.map +1 -0
- package/dist/components/SyncMenu.js +135 -0
- package/dist/components/SyncMenu.js.map +1 -0
- package/dist/components/TokenInput.d.ts +15 -0
- package/dist/components/TokenInput.d.ts.map +1 -0
- package/dist/components/TokenInput.js +103 -0
- package/dist/components/TokenInput.js.map +1 -0
- package/dist/index.js +323 -173
- package/dist/index.js.map +1 -1
- package/dist/ink-input.d.ts +14 -0
- package/dist/ink-input.d.ts.map +1 -0
- package/dist/ink-input.js +92 -0
- package/dist/ink-input.js.map +1 -0
- package/dist/models.d.ts +115 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +221 -0
- package/dist/models.js.map +1 -0
- package/dist/providers.d.ts +19 -4
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +80 -112
- package/dist/providers.js.map +1 -1
- package/dist/settings.d.ts +15 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +56 -21
- package/dist/settings.js.map +1 -1
- package/dist/sync/docker.d.ts +68 -0
- package/dist/sync/docker.d.ts.map +1 -0
- package/dist/sync/docker.js +234 -0
- package/dist/sync/docker.js.map +1 -0
- package/dist/sync/download.d.ts +87 -0
- package/dist/sync/download.d.ts.map +1 -0
- package/dist/sync/download.js +291 -0
- package/dist/sync/download.js.map +1 -0
- package/dist/sync/hash.d.ts +60 -0
- package/dist/sync/hash.d.ts.map +1 -0
- package/dist/sync/hash.js +92 -0
- package/dist/sync/hash.js.map +1 -0
- package/dist/sync/index.d.ts +15 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +21 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/manifest.d.ts +132 -0
- package/dist/sync/manifest.d.ts.map +1 -0
- package/dist/sync/manifest.js +260 -0
- package/dist/sync/manifest.js.map +1 -0
- package/dist/sync/progress.d.ts +164 -0
- package/dist/sync/progress.d.ts.map +1 -0
- package/dist/sync/progress.js +233 -0
- package/dist/sync/progress.js.map +1 -0
- package/dist/sync/services.d.ts +70 -0
- package/dist/sync/services.d.ts.map +1 -0
- package/dist/sync/services.js +134 -0
- package/dist/sync/services.js.map +1 -0
- package/dist/sync/sync-engine.d.ts +69 -0
- package/dist/sync/sync-engine.d.ts.map +1 -0
- package/dist/sync/sync-engine.js +533 -0
- package/dist/sync/sync-engine.js.map +1 -0
- package/dist/tokens.d.ts +70 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +198 -0
- package/dist/tokens.js.map +1 -0
- package/dist/tools.d.ts +60 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +34 -0
- package/dist/tools.js.map +1 -1
- package/dist/types/sync.d.ts +284 -0
- package/dist/types/sync.d.ts.map +1 -0
- package/dist/types/sync.js +5 -0
- package/dist/types/sync.js.map +1 -0
- package/package.json +10 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Settings } from './settings.js';
|
|
2
|
+
export interface PromptWithInkOptions {
|
|
3
|
+
label?: string;
|
|
4
|
+
settings?: Settings;
|
|
5
|
+
history?: string[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Prompt user for input using an Ink-based multi-line input box.
|
|
9
|
+
*
|
|
10
|
+
* @param options - Options for the prompt
|
|
11
|
+
* @returns Promise that resolves with the user's input text
|
|
12
|
+
*/
|
|
13
|
+
export declare function promptWithInk(options?: PromptWithInkOptions | string): Promise<string>;
|
|
14
|
+
//# sourceMappingURL=ink-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ink-input.d.ts","sourceRoot":"","sources":["../src/ink-input.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,oBAAoB,GAAG,MAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAqGnG"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { render } from 'ink';
|
|
3
|
+
import { InputModal } from './components/InputModal.js';
|
|
4
|
+
import { Colors, color } from './utils.js';
|
|
5
|
+
/**
|
|
6
|
+
* Prompt user for input using an Ink-based multi-line input box.
|
|
7
|
+
*
|
|
8
|
+
* @param options - Options for the prompt
|
|
9
|
+
* @returns Promise that resolves with the user's input text
|
|
10
|
+
*/
|
|
11
|
+
export async function promptWithInk(options = 'You') {
|
|
12
|
+
// Support old signature: promptWithInk(label: string)
|
|
13
|
+
const opts = typeof options === 'string' ? { label: options } : options;
|
|
14
|
+
const label = opts.label || 'You';
|
|
15
|
+
const settings = opts.settings;
|
|
16
|
+
const history = opts.history || [];
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
let instance = null;
|
|
19
|
+
let resolved = false;
|
|
20
|
+
const handleSubmit = (value) => {
|
|
21
|
+
if (resolved)
|
|
22
|
+
return;
|
|
23
|
+
resolved = true;
|
|
24
|
+
// Clear the terminal output and unmount the Ink app
|
|
25
|
+
if (instance) {
|
|
26
|
+
instance.clear();
|
|
27
|
+
instance.unmount();
|
|
28
|
+
}
|
|
29
|
+
// Restore stdin to canonical mode (Ink leaves it in raw mode)
|
|
30
|
+
// This is required for readline to work properly in subsequent commands
|
|
31
|
+
if (process.stdin.isTTY) {
|
|
32
|
+
process.stdin.setRawMode(false);
|
|
33
|
+
}
|
|
34
|
+
// Show a summary of what was entered (like the old implementation)
|
|
35
|
+
if (value) {
|
|
36
|
+
const firstLine = value.split('\n')[0];
|
|
37
|
+
const hasMoreLines = value.includes('\n');
|
|
38
|
+
console.log(`${color(label + ':', Colors.green)} ${firstLine}${hasMoreLines ? '...' : ''}`);
|
|
39
|
+
}
|
|
40
|
+
resolve(value);
|
|
41
|
+
};
|
|
42
|
+
const handleExit = () => {
|
|
43
|
+
if (resolved)
|
|
44
|
+
return;
|
|
45
|
+
resolved = true;
|
|
46
|
+
// Clear the terminal output and unmount
|
|
47
|
+
if (instance) {
|
|
48
|
+
instance.clear();
|
|
49
|
+
instance.unmount();
|
|
50
|
+
}
|
|
51
|
+
// Restore stdin to canonical mode
|
|
52
|
+
if (process.stdin.isTTY) {
|
|
53
|
+
process.stdin.setRawMode(false);
|
|
54
|
+
}
|
|
55
|
+
// Exit gracefully
|
|
56
|
+
console.log('\nGoodbye!');
|
|
57
|
+
process.exit(0);
|
|
58
|
+
};
|
|
59
|
+
try {
|
|
60
|
+
// Render the Ink component
|
|
61
|
+
instance = render(_jsx(InputModal, { label: label, onSubmit: handleSubmit, settings: settings, history: history }), {
|
|
62
|
+
exitOnCtrlC: false, // We handle Ctrl+C ourselves
|
|
63
|
+
});
|
|
64
|
+
// Handle process exit signals
|
|
65
|
+
const cleanup = () => {
|
|
66
|
+
if (!resolved) {
|
|
67
|
+
handleExit();
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
process.once('SIGINT', cleanup);
|
|
71
|
+
process.once('SIGTERM', cleanup);
|
|
72
|
+
// Wait for the instance to exit
|
|
73
|
+
instance.waitUntilExit().then(() => {
|
|
74
|
+
process.removeListener('SIGINT', cleanup);
|
|
75
|
+
process.removeListener('SIGTERM', cleanup);
|
|
76
|
+
// If not resolved yet (user pressed Ctrl+C in Ink), exit
|
|
77
|
+
if (!resolved) {
|
|
78
|
+
handleExit();
|
|
79
|
+
}
|
|
80
|
+
}).catch((err) => {
|
|
81
|
+
if (!resolved) {
|
|
82
|
+
resolved = true;
|
|
83
|
+
reject(err);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
reject(err);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=ink-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ink-input.js","sourceRoot":"","sources":["../src/ink-input.tsx"],"names":[],"mappings":"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"}
|
package/dist/models.d.ts
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model configuration with capabilities and attributes.
|
|
3
|
+
* TypeScript port of backend/mcp/config/model_config.py
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for an AI model with its capabilities.
|
|
7
|
+
*/
|
|
8
|
+
export interface ModelConfig {
|
|
9
|
+
/** Unique identifier for the model */
|
|
10
|
+
id: string;
|
|
11
|
+
/** API name for the model */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Human-readable display name */
|
|
14
|
+
displayName: string;
|
|
15
|
+
/** Category: 'large' or 'small' */
|
|
16
|
+
category: 'large' | 'small';
|
|
17
|
+
/** Icon: 'brain', 'zap', or 'cloud' */
|
|
18
|
+
icon: 'brain' | 'zap' | 'cloud';
|
|
19
|
+
/** Whether the model supports thinking mode */
|
|
20
|
+
supportsThinking: boolean;
|
|
21
|
+
/** Maximum output tokens */
|
|
22
|
+
maxTokens: number;
|
|
23
|
+
/** Human-readable description */
|
|
24
|
+
description: string;
|
|
25
|
+
/** Provider: 'anthropic', 'openai', or 'azure' */
|
|
26
|
+
provider: 'anthropic' | 'openai' | 'azure';
|
|
27
|
+
/** Parameter name for max tokens ('max_tokens' or 'max_completion_tokens') */
|
|
28
|
+
maxTokensParam: 'max_tokens' | 'max_completion_tokens';
|
|
29
|
+
/** Whether the model supports custom temperature values */
|
|
30
|
+
supportsTemperature: boolean;
|
|
31
|
+
/** Context window size in tokens */
|
|
32
|
+
contextWindow: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Registry of available models and their configurations.
|
|
36
|
+
*/
|
|
37
|
+
export declare class ModelRegistry {
|
|
38
|
+
/**
|
|
39
|
+
* All available models with their configurations.
|
|
40
|
+
* Exactly 6 models: 2 per provider (large + small).
|
|
41
|
+
*/
|
|
42
|
+
static readonly ALL_MODELS: Record<string, ModelConfig>;
|
|
43
|
+
/**
|
|
44
|
+
* Get model configuration by ID.
|
|
45
|
+
* @param modelId - The model ID to look up
|
|
46
|
+
* @returns The model configuration, or undefined if not found
|
|
47
|
+
*/
|
|
48
|
+
static getModel(modelId: string): ModelConfig | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Get all models for a specific provider.
|
|
51
|
+
* @param provider - The provider name ('anthropic', 'openai', 'azure')
|
|
52
|
+
* @returns Array of model configurations for that provider
|
|
53
|
+
*/
|
|
54
|
+
static getModelsForProvider(provider: string): ModelConfig[];
|
|
55
|
+
/**
|
|
56
|
+
* Get all available models.
|
|
57
|
+
* @returns Array of all model configurations
|
|
58
|
+
*/
|
|
59
|
+
static getAllModels(): ModelConfig[];
|
|
60
|
+
/**
|
|
61
|
+
* Get the max tokens parameter name for a model.
|
|
62
|
+
* @param modelId - The model ID
|
|
63
|
+
* @returns 'max_tokens' or 'max_completion_tokens'
|
|
64
|
+
*/
|
|
65
|
+
static getMaxTokensParam(modelId: string): 'max_tokens' | 'max_completion_tokens';
|
|
66
|
+
/**
|
|
67
|
+
* Get the maximum output tokens for a model.
|
|
68
|
+
* @param modelId - The model ID
|
|
69
|
+
* @returns The max tokens value
|
|
70
|
+
*/
|
|
71
|
+
static getMaxTokens(modelId: string): number;
|
|
72
|
+
/**
|
|
73
|
+
* Check if a model supports thinking mode.
|
|
74
|
+
* @param modelId - The model ID
|
|
75
|
+
* @returns True if the model supports thinking
|
|
76
|
+
*/
|
|
77
|
+
static supportsThinking(modelId: string): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Check if a model supports custom temperature.
|
|
80
|
+
* @param modelId - The model ID
|
|
81
|
+
* @returns True if the model supports temperature
|
|
82
|
+
*/
|
|
83
|
+
static supportsTemperature(modelId: string): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Get the default model for a provider.
|
|
86
|
+
* @param provider - The provider name
|
|
87
|
+
* @returns The default (large) model ID for that provider
|
|
88
|
+
*/
|
|
89
|
+
static getDefaultModel(provider: string): string;
|
|
90
|
+
/**
|
|
91
|
+
* Get the context window size for a model.
|
|
92
|
+
* @param modelId - The model ID
|
|
93
|
+
* @returns The context window size in tokens
|
|
94
|
+
*/
|
|
95
|
+
static getContextWindow(modelId: string): number;
|
|
96
|
+
/**
|
|
97
|
+
* Get the provider for a model ID.
|
|
98
|
+
* @param modelId - The model ID
|
|
99
|
+
* @returns The provider name, or 'anthropic' as fallback
|
|
100
|
+
*/
|
|
101
|
+
static getProvider(modelId: string): string;
|
|
102
|
+
/**
|
|
103
|
+
* Check if a model ID is an Azure model.
|
|
104
|
+
* @param modelId - The model ID
|
|
105
|
+
* @returns True if it's an Azure model
|
|
106
|
+
*/
|
|
107
|
+
static isAzureModel(modelId: string): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Get models as array of [id, description] tuples for compatibility.
|
|
110
|
+
* @param provider - The provider name
|
|
111
|
+
* @returns Array of [id, description] tuples
|
|
112
|
+
*/
|
|
113
|
+
static getModelsAsTuples(provider: string): Array<[string, string]>;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,uCAAuC;IACvC,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;IAChC,+CAA+C;IAC/C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3C,8EAA8E;IAC9E,cAAc,EAAE,YAAY,GAAG,uBAAuB,CAAC;IACvD,2DAA2D;IAC3D,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAwFrD;IAEF;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIzD;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE;IAM5D;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,WAAW,EAAE;IAIpC;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,uBAAuB;IAKjF;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAK5C;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKjD;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKpD;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQhD;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKhD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAe3C;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7C;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAMpE"}
|
package/dist/models.js
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model configuration with capabilities and attributes.
|
|
3
|
+
* TypeScript port of backend/mcp/config/model_config.py
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Registry of available models and their configurations.
|
|
7
|
+
*/
|
|
8
|
+
export class ModelRegistry {
|
|
9
|
+
/**
|
|
10
|
+
* All available models with their configurations.
|
|
11
|
+
* Exactly 6 models: 2 per provider (large + small).
|
|
12
|
+
*/
|
|
13
|
+
static ALL_MODELS = {
|
|
14
|
+
// Anthropic Models
|
|
15
|
+
'claude-opus-4-5': {
|
|
16
|
+
id: 'claude-opus-4-5',
|
|
17
|
+
name: 'claude-opus-4-5',
|
|
18
|
+
displayName: 'Claude Opus 4.5',
|
|
19
|
+
category: 'large',
|
|
20
|
+
icon: 'brain',
|
|
21
|
+
supportsThinking: true,
|
|
22
|
+
maxTokens: 16384,
|
|
23
|
+
description: 'Most capable Anthropic model with advanced reasoning',
|
|
24
|
+
provider: 'anthropic',
|
|
25
|
+
maxTokensParam: 'max_tokens',
|
|
26
|
+
supportsTemperature: true,
|
|
27
|
+
contextWindow: 200000,
|
|
28
|
+
},
|
|
29
|
+
'claude-haiku-4-5-20251001': {
|
|
30
|
+
id: 'claude-haiku-4-5-20251001',
|
|
31
|
+
name: 'claude-haiku-4-5-20251001',
|
|
32
|
+
displayName: 'Claude Haiku 4.5',
|
|
33
|
+
category: 'small',
|
|
34
|
+
icon: 'zap',
|
|
35
|
+
supportsThinking: false,
|
|
36
|
+
maxTokens: 8192,
|
|
37
|
+
description: 'Fast and efficient Anthropic model',
|
|
38
|
+
provider: 'anthropic',
|
|
39
|
+
maxTokensParam: 'max_tokens',
|
|
40
|
+
supportsTemperature: true,
|
|
41
|
+
contextWindow: 200000,
|
|
42
|
+
},
|
|
43
|
+
// OpenAI Models
|
|
44
|
+
'gpt-5.2': {
|
|
45
|
+
id: 'gpt-5.2',
|
|
46
|
+
name: 'gpt-5.2',
|
|
47
|
+
displayName: 'GPT-5.2',
|
|
48
|
+
category: 'large',
|
|
49
|
+
icon: 'brain',
|
|
50
|
+
supportsThinking: false,
|
|
51
|
+
maxTokens: 8192,
|
|
52
|
+
description: 'Most capable OpenAI model (requires verified org for streaming)',
|
|
53
|
+
provider: 'openai',
|
|
54
|
+
maxTokensParam: 'max_completion_tokens',
|
|
55
|
+
supportsTemperature: true,
|
|
56
|
+
contextWindow: 200000,
|
|
57
|
+
},
|
|
58
|
+
'gpt-5-mini': {
|
|
59
|
+
id: 'gpt-5-mini',
|
|
60
|
+
name: 'gpt-5-mini',
|
|
61
|
+
displayName: 'GPT-5 Mini',
|
|
62
|
+
category: 'small',
|
|
63
|
+
icon: 'zap',
|
|
64
|
+
supportsThinking: false,
|
|
65
|
+
maxTokens: 4096,
|
|
66
|
+
description: 'Fast and efficient OpenAI model (requires verified org for streaming)',
|
|
67
|
+
provider: 'openai',
|
|
68
|
+
maxTokensParam: 'max_completion_tokens',
|
|
69
|
+
supportsTemperature: false,
|
|
70
|
+
contextWindow: 128000,
|
|
71
|
+
},
|
|
72
|
+
// Azure OpenAI Models (via AI Foundry)
|
|
73
|
+
'azure-large': {
|
|
74
|
+
id: 'azure-large',
|
|
75
|
+
name: 'azure-large',
|
|
76
|
+
displayName: 'Azure OpenAI (Large)',
|
|
77
|
+
category: 'large',
|
|
78
|
+
icon: 'cloud',
|
|
79
|
+
supportsThinking: false,
|
|
80
|
+
maxTokens: 8192,
|
|
81
|
+
description: 'Azure AI Foundry - Large deployment',
|
|
82
|
+
provider: 'azure',
|
|
83
|
+
maxTokensParam: 'max_completion_tokens',
|
|
84
|
+
supportsTemperature: true,
|
|
85
|
+
contextWindow: 128000,
|
|
86
|
+
},
|
|
87
|
+
'azure-small': {
|
|
88
|
+
id: 'azure-small',
|
|
89
|
+
name: 'azure-small',
|
|
90
|
+
displayName: 'Azure OpenAI (Small)',
|
|
91
|
+
category: 'small',
|
|
92
|
+
icon: 'cloud',
|
|
93
|
+
supportsThinking: false,
|
|
94
|
+
maxTokens: 4096,
|
|
95
|
+
description: 'Azure AI Foundry - Small deployment',
|
|
96
|
+
provider: 'azure',
|
|
97
|
+
maxTokensParam: 'max_completion_tokens',
|
|
98
|
+
supportsTemperature: true,
|
|
99
|
+
contextWindow: 128000,
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Get model configuration by ID.
|
|
104
|
+
* @param modelId - The model ID to look up
|
|
105
|
+
* @returns The model configuration, or undefined if not found
|
|
106
|
+
*/
|
|
107
|
+
static getModel(modelId) {
|
|
108
|
+
return this.ALL_MODELS[modelId];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Get all models for a specific provider.
|
|
112
|
+
* @param provider - The provider name ('anthropic', 'openai', 'azure')
|
|
113
|
+
* @returns Array of model configurations for that provider
|
|
114
|
+
*/
|
|
115
|
+
static getModelsForProvider(provider) {
|
|
116
|
+
return Object.values(this.ALL_MODELS).filter((model) => model.provider === provider.toLowerCase());
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get all available models.
|
|
120
|
+
* @returns Array of all model configurations
|
|
121
|
+
*/
|
|
122
|
+
static getAllModels() {
|
|
123
|
+
return Object.values(this.ALL_MODELS);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get the max tokens parameter name for a model.
|
|
127
|
+
* @param modelId - The model ID
|
|
128
|
+
* @returns 'max_tokens' or 'max_completion_tokens'
|
|
129
|
+
*/
|
|
130
|
+
static getMaxTokensParam(modelId) {
|
|
131
|
+
const model = this.getModel(modelId);
|
|
132
|
+
return model?.maxTokensParam ?? 'max_tokens';
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get the maximum output tokens for a model.
|
|
136
|
+
* @param modelId - The model ID
|
|
137
|
+
* @returns The max tokens value
|
|
138
|
+
*/
|
|
139
|
+
static getMaxTokens(modelId) {
|
|
140
|
+
const model = this.getModel(modelId);
|
|
141
|
+
return model?.maxTokens ?? 8192;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Check if a model supports thinking mode.
|
|
145
|
+
* @param modelId - The model ID
|
|
146
|
+
* @returns True if the model supports thinking
|
|
147
|
+
*/
|
|
148
|
+
static supportsThinking(modelId) {
|
|
149
|
+
const model = this.getModel(modelId);
|
|
150
|
+
return model?.supportsThinking ?? false;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Check if a model supports custom temperature.
|
|
154
|
+
* @param modelId - The model ID
|
|
155
|
+
* @returns True if the model supports temperature
|
|
156
|
+
*/
|
|
157
|
+
static supportsTemperature(modelId) {
|
|
158
|
+
const model = this.getModel(modelId);
|
|
159
|
+
return model?.supportsTemperature ?? true;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get the default model for a provider.
|
|
163
|
+
* @param provider - The provider name
|
|
164
|
+
* @returns The default (large) model ID for that provider
|
|
165
|
+
*/
|
|
166
|
+
static getDefaultModel(provider) {
|
|
167
|
+
const providerLower = provider.toLowerCase();
|
|
168
|
+
const models = this.getModelsForProvider(providerLower);
|
|
169
|
+
// Prefer large model as default
|
|
170
|
+
const largeModel = models.find((m) => m.category === 'large');
|
|
171
|
+
return largeModel?.id ?? models[0]?.id ?? '';
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Get the context window size for a model.
|
|
175
|
+
* @param modelId - The model ID
|
|
176
|
+
* @returns The context window size in tokens
|
|
177
|
+
*/
|
|
178
|
+
static getContextWindow(modelId) {
|
|
179
|
+
const model = this.getModel(modelId);
|
|
180
|
+
return model?.contextWindow ?? 128000;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Get the provider for a model ID.
|
|
184
|
+
* @param modelId - The model ID
|
|
185
|
+
* @returns The provider name, or 'anthropic' as fallback
|
|
186
|
+
*/
|
|
187
|
+
static getProvider(modelId) {
|
|
188
|
+
const model = this.getModel(modelId);
|
|
189
|
+
if (model) {
|
|
190
|
+
return model.provider;
|
|
191
|
+
}
|
|
192
|
+
// Fallback: detect provider from model ID pattern
|
|
193
|
+
if (modelId.startsWith('azure')) {
|
|
194
|
+
return 'azure';
|
|
195
|
+
}
|
|
196
|
+
if (modelId.startsWith('gpt')) {
|
|
197
|
+
return 'openai';
|
|
198
|
+
}
|
|
199
|
+
return 'anthropic';
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Check if a model ID is an Azure model.
|
|
203
|
+
* @param modelId - The model ID
|
|
204
|
+
* @returns True if it's an Azure model
|
|
205
|
+
*/
|
|
206
|
+
static isAzureModel(modelId) {
|
|
207
|
+
return modelId.startsWith('azure-');
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Get models as array of [id, description] tuples for compatibility.
|
|
211
|
+
* @param provider - The provider name
|
|
212
|
+
* @returns Array of [id, description] tuples
|
|
213
|
+
*/
|
|
214
|
+
static getModelsAsTuples(provider) {
|
|
215
|
+
return this.getModelsForProvider(provider).map((model) => [
|
|
216
|
+
model.id,
|
|
217
|
+
`${model.displayName} - ${model.description}`,
|
|
218
|
+
]);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.d.ts
CHANGED
|
@@ -1,21 +1,36 @@
|
|
|
1
1
|
import Anthropic from '@anthropic-ai/sdk';
|
|
2
2
|
import OpenAI, { AzureOpenAI } from 'openai';
|
|
3
3
|
import { Settings } from './settings.js';
|
|
4
|
+
import type { LLMProviders } from './auth.js';
|
|
4
5
|
export type LLMClient = Anthropic | OpenAI | AzureOpenAI;
|
|
5
6
|
/**
|
|
6
7
|
* Create the appropriate LLM client based on settings.
|
|
7
8
|
*/
|
|
8
9
|
export declare function createLLMClient(settings: Settings): LLMClient;
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
+
* Create a DIRECT LLM client using credentials from cloud config.
|
|
12
|
+
* Makes API calls directly to Anthropic/OpenAI/Azure, not through the backend.
|
|
13
|
+
*
|
|
14
|
+
* @param providerName - The provider to use ('anthropic', 'openai', 'azure')
|
|
15
|
+
* @param llmConfig - The full LLM providers config from cloud credentials
|
|
16
|
+
* @param useSmallModel - For Azure, whether to use the small deployment (default: false)
|
|
11
17
|
*/
|
|
12
|
-
export declare function
|
|
18
|
+
export declare function createClientFromCloudConfig(providerName: string, llmConfig: LLMProviders, useSmallModel?: boolean): LLMClient;
|
|
19
|
+
/**
|
|
20
|
+
* Get the model/deployment name for the selected cloud provider.
|
|
21
|
+
* Model selection is handled locally via settings, not from backend.
|
|
22
|
+
*/
|
|
23
|
+
export declare function getCloudModel(providerName: string, _llmConfig: LLMProviders, // Unused - kept for API compatibility
|
|
24
|
+
useSmallModel?: boolean): string;
|
|
13
25
|
/**
|
|
14
|
-
*
|
|
26
|
+
* Fetch available models from OpenAI API.
|
|
27
|
+
* @deprecated Use ModelRegistry.getModelsAsTuples('openai') instead.
|
|
28
|
+
* This function is kept for backward compatibility but now returns the fixed registry list.
|
|
15
29
|
*/
|
|
16
|
-
export declare function
|
|
30
|
+
export declare function fetchOpenAIModels(apiKey: string): Promise<Array<[string, string]>>;
|
|
17
31
|
/**
|
|
18
32
|
* Interactive model selection for a provider.
|
|
33
|
+
* Now uses ModelRegistry for all providers including Azure.
|
|
19
34
|
*/
|
|
20
35
|
export declare function selectModel(provider: string, current: string, apiKey?: string): Promise<string>;
|
|
21
36
|
/**
|
package/dist/providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAA0B,MAAM,eAAe,CAAC;AAGjE,OAAO,KAAK,EAAE,YAAY,EAAuD,MAAM,WAAW,CAAC;AAGnG,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAEzD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAgB7D;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,YAAY,EACvB,aAAa,GAAE,OAAe,GAC7B,SAAS,CA4BX;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,YAAY,EAAG,sCAAsC;AACjE,aAAa,GAAE,OAAe,GAC7B,MAAM,CAeR;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAGxF;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAuEjB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/F"}
|