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://orquesta.live/dashboard/orquesta-cli\n2. Generate a CLI token\n3. Run orquesta-cli again and enter your token`;
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://orquesta.live/dashboard/orquesta-cli\n2. Generate a CLI token\n3. Restart with: orquesta --token <your-token>`;
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://orquesta.live';
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://orquesta.live';
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://orquesta.live') {
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://orquesta.live/dashboard/orquesta-cli")),
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" })),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orquesta-cli",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "Orquesta CLI - AI-powered coding assistant with team collaboration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",