O Sequential Thinking expõe dois eixos ortogonais além da camada de permissão stLayer:

EixoCampoControla
PrivilégiostLayer (derivado do token)Escopo de dados, catálogo permitido por camada, persona conversacional
Pipelineoptions.mode ou modeInputQuais chapters rodam, subset de ações, plano pré-construído, guidance de domínio

Confundir os dois eixos é erro comum: um token Host pode usar mode: 'lean'; uma sessão Conversational pode usar pipeline completo (sem mode).

stLayer e mode são server-derived nos produtos Tolky (webchat, backoffice). Integradores externos via runWithAgents podem passar modeInput.mode quando o contrato do produto permitir — valores fora da whitelist são ignorados ou rejeitados conforme o caller.


options.mode — presets de pipeline

Um mode restringe ou especializa o motor antes da fase PREPARATION:

  • Subset de ações — ex.: copilot de ticket vê só ações de tickets/leads.
  • Constraints e guidance — regras SQL, primers de domínio, políticas de área.
  • Opções de execuçãomaxSteps, timeouts, flags de performance embutidas.
  • Plano pré-construídoprebuiltPlan determinístico (sem Planner LLM).

Modes built-in (referência)

ModeUso típico
(ausente)Pipeline completo — Planner + Executor + DeliveryComparator + Compile
leanResposta rápida em 1 chamada LLM (bypass de Planner/Executor). Webchat anônimo.
canvasIntegração com UI dinâmica /canvas — ações pushCanvasEntry, mountCanvasFrame, etc.
workflowBuilderEdição de grafos de workflow (addWorkflowNode, connectWorkflowNodes, …)
advisor_decisionAuditoria Advisor V4 com plano fixo de tracers

Como ativar via API

Passe modeInput no body de runWithAgents (ou screenTags legado):

{
  "instructions": "Atualize o ticket 12345678 com prioridade alta",
  "modeInput": {
    "mode": "copilot_ticket",
    "screen": "ticket_detail",
    "entityIds": { "ticketId": "uuid-do-ticket" }
  }
}

Quando modeInput.mode está presente, o backend resolve bindings de tela (screenBindings) e injeta registry/opções antes do pipeline.

Parâmetros relacionados:

CampoDescrição
modeInput.modeID estável do mode (slug)
modeInput.screenTela/contexto de UI para resolução automática quando mode omitido
modeInput.entityIdsIDs de entidade exigidos pelo mode (ticket, lead, conversa, …)
canvasSessionIdSessão de canvas para fan-out de comandos UI (requer coerência com hostId)
sessionIdCorrelação WebSocket / sequentialKeeper

options.performanceMode — presets de custo/latência

Atalho para ligar/desligar gates LLM caros. Valores: balanced (padrão), fast, turbo. Flags explícitas no mesmo options sempre vencem o preset.

PresetEfeito resumido
balancedComportamento padrão do motor
fastDesliga DeliveryComparator, PlanReviewer, ResultEvaluator, narração, avatar persona; ativa terseOutput
turboAdiciona desligamento de RAG/Web/prefilters/sessionContext, corta retries, persistenceMode: 'deferred'

Flags individuais (override fino): skipDeliveryComparator, skipAvatarPersona, skipResultEvaluator, skipNarration, skipActionPrefilter, skipConstraintPrefilter, skipSessionContext, enableRag: false, terseOutput, persistenceMode, avatarPersonaMode (fused | rewrite | off).

O motor expõe result.metrics.perfMode = { preset, resolvedFlags } quando um preset foi aplicado.


Além das ~60 ações base, o GET /listActions pode incluir clusters conforme variáveis de ambiente:

ClusterFlag (opt-out)Ações (exemplos)
Advisor V4ADVISOR_V4_ENABLED=falseresolveAdvisorScope, compileAdvisorReportV4, verifyIssueV4, … (~37)
Canvas / side-trackCANVAS_DYNAMIC_CONTENT_ENABLED=falsepushCanvasEntry, mountCanvasFrame, sideTrackAgent, … (~10)
Decision AssistantST_DECISION_ASSISTANT_ENABLED=falseaskDecisionChain, createDecisionChain, editDecisionChain, … (4)

Workflow builder (addWorkflowNode, importN8nWorkflow, …) não entra no catálogo padrão de listActions — só no mode workflowBuilder.

SecOps crypto (encryptJson, hashFromText, …) e tracers investigateV3 (toolCallTracer, timelineReverseTrace, …) fazem parte do catálogo base quando registrados no deploy.


Relação com stLayer

PerguntaResposta
conversationId define a camada?Não — indica onde persistir; stLayer vem do token.
Mode restringe ações além do stLayer?Sim — intersecta com o catálogo permitido na camada.
Integrador define stLayer no body?Não — derivado do contexto de autenticação.
Integrador define mode?Depende do produto — via modeInput quando o caller Tolky expõe.

Para isolamento por tenant/host, veja Camadas de permissão.