terminal-smart-cli 0.97.30 → 0.97.41

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.
@@ -8,7 +8,7 @@
8
8
 
9
9
  const crypto = require('crypto');
10
10
 
11
- const INTELLIGENCE_CONTRACT = 1;
11
+ const INTELLIGENCE_CONTRACT = 2;
12
12
  // Keep this machine-readable. Human/provider notes belong in commit history;
13
13
  // catalogFreshness appends an ISO time before parsing this value.
14
14
  const PRICE_REVISION = '2026-08-11';
@@ -179,9 +179,18 @@ const MODEL_ALIASES = Object.freeze({
179
179
  'claude-haiku': 'claude-haiku-4-5',
180
180
  });
181
181
 
182
+ // Equipe oficial do modo Automático: especialização e prova objetiva vêm antes
183
+ // de cascatas longas de modelos. Premium fica fora até validação real.
184
+ const OFFICIAL_AUTOMATIC_TEAM = Object.freeze({
185
+ planner: Object.freeze({ model: 'gpt-5.6-luna', label: 'Luna', responsibility: 'planejamento' }),
186
+ executor: Object.freeze({ model: 'deepseek-v4-pro', label: 'DeepSeek Pro', responsibility: 'execução' }),
187
+ corrector: Object.freeze({ model: 'deepseek-v4-pro', label: 'DeepSeek Pro', responsibility: 'correção' }),
188
+ multimodal: Object.freeze({ model: 'mimo-v2.5', fallback: 'gemini-2.5-flash', label: 'MiMo', responsibility: 'imagem, arquivo e documento visual' }),
189
+ verifier: Object.freeze({ model: null, label: 'Verificadores determinísticos', responsibility: 'prova objetiva de entrega' }),
190
+ });
191
+
182
192
  // Contrato dos agentes funcionais. Isto não é fine-tuning: cada papel recebe um
183
- // prompt curto, uma cadeia de modelos por plano e continua sujeito à prova das
184
- // ferramentas. O primeiro modelo permitido é o padrão; os seguintes são fallback.
193
+ // prompt curto e continua sujeito à prova das ferramentas.
185
194
  const AGENT_ROLES = Object.freeze({
186
195
  classifier: Object.freeze({
187
196
  prompt: 'Classifique a intenção e devolva somente a estrutura pedida. Não execute ferramentas nem invente dados.',
@@ -189,19 +198,19 @@ const AGENT_ROLES = Object.freeze({
189
198
  }),
190
199
  planner: Object.freeze({
191
200
  prompt: 'Decomponha o objetivo em etapas executáveis, dependências, riscos, critérios de aceite e provas. Não execute a tarefa.',
192
- models: Object.freeze({ free: ['deepseek-v4-flash'], basic: ['gpt-5.6-luna', 'deepseek-v4-pro'], pro: ['gpt-5.6-luna', 'deepseek-v4-pro', 'glm-5.2'] }),
201
+ models: Object.freeze({ free: ['deepseek-v4-flash'], basic: ['gpt-5.6-luna'], pro: ['gpt-5.6-luna'] }),
193
202
  }),
194
203
  executor: Object.freeze({
195
204
  prompt: 'Execute somente a etapa recebida com as ferramentas autorizadas. Não declare sucesso sem resultado verificável.',
196
- models: Object.freeze({ free: ['deepseek-v4-flash'], basic: ['deepseek-v4-pro', 'gpt-5.6-luna'], pro: ['deepseek-v4-pro', 'gpt-5.6-luna'] }),
205
+ models: Object.freeze({ free: ['deepseek-v4-flash'], basic: ['deepseek-v4-pro'], pro: ['deepseek-v4-pro'] }),
197
206
  }),
198
207
  inspector: Object.freeze({
199
208
  prompt: 'Inspecione em modo somente leitura e compare evidências com os critérios de aceite. Não altere nada e não elogie por cortesia.',
200
- models: Object.freeze({ free: ['gemini-2.5-flash-lite'], basic: ['gpt-5.6-luna', 'gemini-2.5-flash'], pro: ['gpt-5.6-luna', 'gemini-2.5-flash'] }),
209
+ models: Object.freeze({ free: ['gemini-2.5-flash-lite'], basic: ['gpt-5.6-luna', 'glm-5.2'], pro: ['gpt-5.6-luna', 'glm-5.2'] }),
201
210
  }),
202
211
  corrector: Object.freeze({
203
212
  prompt: 'Corrija apenas falhas confirmadas pelo inspetor, preserve o que funciona e repita as provas afetadas. Não amplie o escopo.',
204
- models: Object.freeze({ free: ['deepseek-v4-flash'], basic: ['deepseek-v4-pro', 'gpt-5.6-luna'], pro: ['deepseek-v4-pro', 'gpt-5.6-luna', 'glm-5.2'] }),
213
+ models: Object.freeze({ free: ['deepseek-v4-flash'], basic: ['deepseek-v4-pro'], pro: ['deepseek-v4-pro'] }),
205
214
  }),
206
215
  vision: Object.freeze({
207
216
  prompt: 'Extraia fatos observáveis da imagem e separe leitura, inferência e incerteza. Não invente texto ilegível.',
@@ -209,7 +218,7 @@ const AGENT_ROLES = Object.freeze({
209
218
  }),
210
219
  document: Object.freeze({
211
220
  prompt: 'Produza conteúdo estruturado e use o motor nativo do formato solicitado. Preserve editabilidade e valide o arquivo gerado.',
212
- models: Object.freeze({ free: ['deepseek-v4-flash'], basic: ['deepseek-v4-pro', 'mimo-v2.5', 'gemini-2.5-flash'], pro: ['mimo-v2.5', 'deepseek-v4-pro', 'gpt-5.6-luna'] }),
221
+ models: Object.freeze({ free: ['gemini-2.5-flash'], basic: ['mimo-v2.5', 'gemini-2.5-flash'], pro: ['mimo-v2.5', 'gemini-2.5-flash'] }),
213
222
  }),
214
223
  site_builder: Object.freeze({
215
224
  prompt: 'Crie ou edite o site completo, responsivo e acessível. Preserve o existente quando editar e valide a URL publicada.',
@@ -479,7 +488,7 @@ function agentRoleContract(role, plan, options) {
479
488
  // alteram o projeto. Isto vale inclusive no Free: o limite desse plano e de
480
489
  // tentativas/orcamento, nao uma degradacao silenciosa da qualidade do papel.
481
490
  const complexCore = options && options.complex === true && ['planner', 'executor', 'corrector'].includes(id)
482
- ? (id === 'planner' ? ['gpt-5.6-luna', 'deepseek-v4-pro'] : ['deepseek-v4-pro', 'gpt-5.6-luna'])
491
+ ? (id === 'planner' ? ['gpt-5.6-luna'] : ['deepseek-v4-pro'])
483
492
  : null;
484
493
  const requested = complexCore || spec.models[planId] || spec.models.free;
485
494
  const allowedRaw = complexCore && planId === 'free' ? null : (options && Array.isArray(options.allowedModels) ? options.allowedModels : null);
@@ -524,7 +533,7 @@ function routeModel(task, reliability) {
524
533
 
525
534
  module.exports = {
526
535
  INTELLIGENCE_CONTRACT, PRICE_REVISION, MODEL_CATALOG, MODEL_ALIASES, DEFAULT_PRICE,
527
- MEMORY_TYPES, MEMORY_TRUST, CONTEXT_SOURCES, AGENT_ROLES,
536
+ MEMORY_TYPES, MEMORY_TRUST, CONTEXT_SOURCES, OFFICIAL_AUTOMATIC_TEAM, AGENT_ROLES,
528
537
  normalizeModelId, modelInfo, legacyPriceMap, normalizeUsage, estimateCostUsd, catalogFreshness,
529
538
  createContextLedger, createMemoryRecord, scoreMemoryRecord, createHandoff, cleanOperationalText, buildOperationalSummary,
530
539
  normalizeAgentPlan, agentRoleContract, routeModel,