orquesta-cli 0.1.19 → 0.1.21
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.
|
@@ -30,10 +30,10 @@ export const PROVIDERS = [
|
|
|
30
30
|
openaiCompatible: false,
|
|
31
31
|
extraHeaders: { 'anthropic-version': '2023-06-01' },
|
|
32
32
|
knownModels: [
|
|
33
|
+
{ id: 'claude-opus-4-7', name: 'Claude Opus 4.7', maxTokens: 200000, capabilities: ['vision', 'tools', 'extended_thinking', 'streaming'] },
|
|
33
34
|
{ id: 'claude-opus-4-6', name: 'Claude Opus 4.6', maxTokens: 200000, capabilities: ['vision', 'tools', 'extended_thinking', 'streaming'] },
|
|
34
35
|
{ id: 'claude-sonnet-4-6', name: 'Claude Sonnet 4.6', maxTokens: 200000, capabilities: ['vision', 'tools', 'extended_thinking', 'streaming'] },
|
|
35
36
|
{ id: 'claude-haiku-4-5-20251001', name: 'Claude Haiku 4.5', maxTokens: 200000, capabilities: ['vision', 'tools', 'streaming'] },
|
|
36
|
-
{ id: 'claude-sonnet-4-5-20250514', name: 'Claude Sonnet 4.5', maxTokens: 200000, capabilities: ['vision', 'tools', 'extended_thinking', 'streaming'] },
|
|
37
37
|
],
|
|
38
38
|
},
|
|
39
39
|
{
|
|
@@ -185,6 +185,31 @@ export const PROVIDERS = [
|
|
|
185
185
|
{ id: 'deepseek/deepseek-chat', name: 'DeepSeek Chat', maxTokens: 128000, capabilities: ['tools', 'streaming'] },
|
|
186
186
|
],
|
|
187
187
|
},
|
|
188
|
+
{
|
|
189
|
+
id: 'batuta',
|
|
190
|
+
name: 'Batuta (Orquesta)',
|
|
191
|
+
baseUrl: 'https://getorquesta.com/api/v1',
|
|
192
|
+
authMethod: 'bearer',
|
|
193
|
+
envVars: ['BATUTA_API_KEY'],
|
|
194
|
+
requiresApiKey: true,
|
|
195
|
+
isLocal: false,
|
|
196
|
+
modelsEndpoint: '/models',
|
|
197
|
+
openaiCompatible: true,
|
|
198
|
+
knownModels: [
|
|
199
|
+
{ id: 'batuta-auto', name: 'Batuta Auto (smart routing)', maxTokens: 200000, capabilities: ['vision', 'tools', 'extended_thinking', 'streaming'] },
|
|
200
|
+
{ id: 'claude-opus-4-7', name: 'Claude Opus 4.7', maxTokens: 200000, capabilities: ['vision', 'tools', 'extended_thinking', 'streaming'] },
|
|
201
|
+
{ id: 'claude-sonnet-4-6', name: 'Claude Sonnet 4.6', maxTokens: 200000, capabilities: ['vision', 'tools', 'extended_thinking', 'streaming'] },
|
|
202
|
+
{ id: 'claude-haiku-4-5-20251001', name: 'Claude Haiku 4.5', maxTokens: 200000, capabilities: ['vision', 'tools', 'streaming'] },
|
|
203
|
+
{ id: 'gpt-4o', name: 'GPT-4o', maxTokens: 128000, capabilities: ['vision', 'tools', 'json_mode', 'streaming'] },
|
|
204
|
+
{ id: 'gpt-4o-mini', name: 'GPT-4o Mini', maxTokens: 128000, capabilities: ['vision', 'tools', 'json_mode', 'streaming'] },
|
|
205
|
+
{ id: 'deepseek-chat', name: 'DeepSeek Chat', maxTokens: 128000, capabilities: ['tools', 'json_mode', 'streaming'] },
|
|
206
|
+
{ id: 'deepseek-reasoner', name: 'DeepSeek Reasoner', maxTokens: 64000, capabilities: ['tools', 'streaming'] },
|
|
207
|
+
{ id: 'gemini-2.0-flash', name: 'Gemini 2.0 Flash', maxTokens: 1048576, capabilities: ['vision', 'tools', 'json_mode', 'streaming'] },
|
|
208
|
+
{ id: 'mistral-large-latest', name: 'Mistral Large', maxTokens: 128000, capabilities: ['tools', 'json_mode', 'streaming'] },
|
|
209
|
+
{ id: 'grok-4', name: 'Grok 4', maxTokens: 131072, capabilities: ['tools', 'streaming'] },
|
|
210
|
+
{ id: 'llama-3.3-70b-versatile', name: 'Llama 3.3 70B (Groq)', maxTokens: 128000, capabilities: ['tools', 'streaming'] },
|
|
211
|
+
],
|
|
212
|
+
},
|
|
188
213
|
{
|
|
189
214
|
id: 'ollama',
|
|
190
215
|
name: 'Ollama',
|
|
@@ -150,7 +150,7 @@ export async function executeSlashCommand(command, context) {
|
|
|
150
150
|
logger.flow('Sync command received');
|
|
151
151
|
const orquestaConfig = configManager.getOrquestaConfig();
|
|
152
152
|
if (!orquestaConfig?.token) {
|
|
153
|
-
const notConnectedMessage = `❌ Not connected to Orquesta.\n\nTo sync configurations, first connect using an Orquesta CLI token:\n1. Go to https://
|
|
153
|
+
const notConnectedMessage = `❌ Not connected to Orquesta.\n\nTo sync configurations, first connect using an Orquesta CLI token:\n1. Go to https://getorquesta.com/dashboard/orquesta-cli\n2. Generate a CLI token\n3. Run orquesta-cli again and enter your token`;
|
|
154
154
|
const updatedMessages = [
|
|
155
155
|
...context.messages,
|
|
156
156
|
{ role: 'assistant', content: notConnectedMessage },
|
|
@@ -229,7 +229,7 @@ export async function executeSlashCommand(command, context) {
|
|
|
229
229
|
logger.flow('Project command received');
|
|
230
230
|
const orquestaConfig = configManager.getOrquestaConfig();
|
|
231
231
|
if (!orquestaConfig?.token) {
|
|
232
|
-
const notConnectedMessage = `❌ Not connected to Orquesta.\n\nTo switch projects, first connect using an Orquesta CLI token:\n1. Go to https://
|
|
232
|
+
const notConnectedMessage = `❌ Not connected to Orquesta.\n\nTo switch projects, first connect using an Orquesta CLI token:\n1. Go to https://getorquesta.com/dashboard/orquesta-cli\n2. Generate a CLI token\n3. Restart with: orquesta --token <your-token>`;
|
|
233
233
|
const updatedMessages = [
|
|
234
234
|
...context.messages,
|
|
235
235
|
{ role: 'assistant', content: notConnectedMessage },
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { configManager } from '../core/config/config-manager.js';
|
|
2
2
|
import { logger } from '../utils/logger.js';
|
|
3
|
-
const ORQUESTA_API = process.env['ORQUESTA_API_URL'] || 'https://
|
|
3
|
+
const ORQUESTA_API = process.env['ORQUESTA_API_URL'] || 'https://getorquesta.com';
|
|
4
4
|
export async function fetchOrquestaProjects(token) {
|
|
5
5
|
try {
|
|
6
6
|
const response = await fetch(`${ORQUESTA_API}/api/orquesta-cli/projects`, {
|
|
@@ -81,6 +81,31 @@ export async function syncOrquestaConfigs() {
|
|
|
81
81
|
}
|
|
82
82
|
const data = (await response.json());
|
|
83
83
|
const endpoints = data.endpoints || [];
|
|
84
|
+
const hasBatuta = endpoints.some((e) => e.provider === 'batuta' || e.id === 'batuta-proxy');
|
|
85
|
+
if (!hasBatuta) {
|
|
86
|
+
const healthy = { enabled: true, healthStatus: 'healthy', lastHealthCheck: new Date() };
|
|
87
|
+
endpoints.push({
|
|
88
|
+
id: 'batuta-proxy',
|
|
89
|
+
name: 'Batuta',
|
|
90
|
+
baseUrl: `${ORQUESTA_API}/api/v1`,
|
|
91
|
+
apiKey: orquestaConfig.token,
|
|
92
|
+
provider: 'batuta',
|
|
93
|
+
models: [
|
|
94
|
+
{ id: 'batuta-auto', name: 'Batuta Auto (smart routing)', maxTokens: 200000, ...healthy },
|
|
95
|
+
{ id: 'claude-opus-4-7', name: 'Claude Opus 4.7', maxTokens: 200000, ...healthy },
|
|
96
|
+
{ id: 'claude-sonnet-4-6', name: 'Claude Sonnet 4.6', maxTokens: 200000, ...healthy },
|
|
97
|
+
{ id: 'claude-haiku-4-5-20251001', name: 'Claude Haiku 4.5', maxTokens: 200000, ...healthy },
|
|
98
|
+
{ id: 'gpt-4o', name: 'GPT-4o', maxTokens: 128000, ...healthy },
|
|
99
|
+
{ id: 'gpt-4o-mini', name: 'GPT-4o Mini', maxTokens: 128000, ...healthy },
|
|
100
|
+
{ id: 'deepseek-chat', name: 'DeepSeek Chat', maxTokens: 128000, ...healthy },
|
|
101
|
+
{ id: 'deepseek-reasoner', name: 'DeepSeek Reasoner', maxTokens: 64000, ...healthy },
|
|
102
|
+
{ id: 'gemini-2.0-pro', name: 'Gemini 2.0 Pro', maxTokens: 1048576, ...healthy },
|
|
103
|
+
{ id: 'grok-4', name: 'Grok 4', maxTokens: 131072, ...healthy },
|
|
104
|
+
],
|
|
105
|
+
createdAt: new Date(),
|
|
106
|
+
updatedAt: new Date(),
|
|
107
|
+
});
|
|
108
|
+
}
|
|
84
109
|
logger.flow('Received endpoints from Orquesta', { count: endpoints.length });
|
|
85
110
|
const result = await configManager.mergeOrquestaEndpoints(endpoints);
|
|
86
111
|
logger.flow('Sync complete', result);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { io } from 'socket.io-client';
|
|
2
2
|
import * as os from 'os';
|
|
3
|
-
const ORQUESTA_API = process.env['ORQUESTA_API_URL'] || 'https://
|
|
3
|
+
const ORQUESTA_API = process.env['ORQUESTA_API_URL'] || 'https://getorquesta.com';
|
|
4
4
|
const ORQUESTA_WS = process.env['ORQUESTA_WS_URL'] || 'wss://ws.orquesta.live';
|
|
5
5
|
export class OrquestaConnection {
|
|
6
6
|
token;
|
|
@@ -31,7 +31,7 @@ function resolveAgentBin() {
|
|
|
31
31
|
console.warn(' \x1b[33m npm install -g orquesta-agent\x1b[0m\n');
|
|
32
32
|
return 'orquesta-agent';
|
|
33
33
|
}
|
|
34
|
-
export async function initHooks(token, apiUrl = 'https://
|
|
34
|
+
export async function initHooks(token, apiUrl = 'https://getorquesta.com') {
|
|
35
35
|
const cwd = process.cwd();
|
|
36
36
|
console.log('\n Initializing Orquesta hook integration...\n');
|
|
37
37
|
const agentBin = resolveAgentBin();
|
|
@@ -419,7 +419,7 @@ export const LLMSetupWizard = ({ onComplete, onSkip }) => {
|
|
|
419
419
|
React.createElement(Box, { paddingX: 1, marginBottom: 1, flexDirection: "column" },
|
|
420
420
|
React.createElement(Text, { color: "gray" }, "Enter your Orquesta CLI token to sync LLM configurations."),
|
|
421
421
|
React.createElement(Text, { color: "gray" }, "Get your token from: "),
|
|
422
|
-
React.createElement(Text, { color: "cyan" }, "https://
|
|
422
|
+
React.createElement(Text, { color: "cyan" }, "https://getorquesta.com/dashboard/orquesta-cli")),
|
|
423
423
|
React.createElement(Box, { paddingX: 1, marginY: 1 },
|
|
424
424
|
React.createElement(Text, { color: "yellow" }, "Token: "),
|
|
425
425
|
React.createElement(TextInput, { value: orquestaToken, onChange: setOrquestaToken, placeholder: "oclt_xxxxxxxxxxxx" })),
|