Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Menu Docs

@mongodb-js/agent-engine-sdk-langgraph

O SDK da estrutura do LangGraph para o Atlas Agent Engine no TypeScript. Ele envolve os agentes LangGraph com segurança, auditar e observabilidade da plataforma. Uma versão do Python também está disponível.

npm install @mongodb-js/agent-engine-sdk-langgraph
arquivo
Propósito

src/index.ts

Reexportações públicas (App, LangGraphBaseAgent etc.)

src/runtime.ts

App classe — o ponto de entrada do SDK

src/agent.ts

LangGraphBaseAgent envolvimento CompiledStateGraph

src/query.ts

LangGraphQueryPlugin - resumos/mensagens de sessão de collections MongoDBSaver

src/secure_llm.ts

SecureWrappedLLM — roteia chamadas LLM por meio de proxy

src/messages.ts

LangChain ↔ tradutor de mensagem de plataforma

src/llm_adapter.ts

Adaptador de BaseChatModel para plataforma BaseLLM

src/subagents.ts

Despacho de subagente + rastreamento lc_agent_name

src/node_logger_adapter.ts

Chamadas de resposta do LangGraph → NodeExecutionLogger

src/deep_agent.ts

deepagents wrapper da biblioteca

src/deep_agent_task.ts

Análise de chamada de ferramenta do agente detalhado task

src/deep_agent_checkpointer.ts

Política de checkpointer do agente detalhado (tolera o roteamento de envio pertencente ao adaptador)

src/durable_deep_agent.ts

Despacho task durável: caminhos de operação secundários + carimbo do ID de mensagem

src/session_fork.ts

Bifurcação da sessão: cópia nativa + ramificação OE durável, envolto em updateState

src/backends/toolpod.ts

AgentEngineToolPodBackend (sandbox backend)

Cada linha abaixo é uma classificação de dependência, de cima para baixo (calculada a partir do gráfico de importação local real):

index.ts
runtime.ts
agent.ts
session_factory.ts
durable_session.ts
deep_agent.ts · execution_session.ts · secure_llm.ts · backends/toolpod.ts
deep_agent_checkpointer.ts · durable_deep_agent.ts · durable_subgraphs.ts · session_fork.ts
platform_checkpointer.ts
workflow_state.ts
durable_tools.ts · llm_adapter.ts · query.ts · suspend.ts · workflow_message.ts
messages.ts · checkpoint_branch.ts · checkpointer.ts · deep_agent_task.ts ·
durable_message_identity.ts · node_logger_adapter.ts ·
stopped_tool_call_middleware.ts · subagents.ts · thread_id.ts ·
backends/tool_sandbox.ts · workflow_json.ts

Um arquivo só pode ser importado de arquivos nas linhas inferiores desta árvore. As importações que vão para o outro lado são bugs.

Variável de ambiente
Default
Descrição

MONGODB_URI

(desconfigurar)

Fonte de conexão do MongoDB para o checkpointer e plugin de query no modo AER.

MDB_AGENTIC_STORE_DB

mdb_store

Nome de base para o armazenamento MongoDB por projeto usado para pontos de verificação LangGraph no modo AER. O escopo e a descoberta do projeto ainda se aplicam, a menos que sejam substituídos abaixo.

CHECKPOINT_DB_NAME

(desconfigurar)

Nome exato do banco de dados MongoDBSaver quando definido. Ignora o escopo e a descoberta do projeto . Defina-o no ambiente do pod AER do agente ou em um SecretRef para optar por um banco de dados de checkpoint compartilhado por agentes de tempo de execução duplo.

Por padrão, o checkpoint do LangGraph thread_id é session_id:workspace_id. Os agentes podem registrar app.resolveThreadId((ctx) => ...); seu valor de retorno é usado literalmente em invocações novas e retomadas, sem nenhum sufixo de espaço de trabalho anexado. As chaves personalizadas são invisíveis para o histórico /query/sessions* do Atlas Agent Engine, que ainda procura somente as chaves padrão derivadas da sessão/espaço de trabalho. Os agentes que ignoram o escopo do espaço de trabalho possuem isolamento de colisão dentro do banco de dados de checkpoint . A chave deve ser reconstruível a partir de RequestContext (incluindo a sessão e a identidade autenticada) em cada curva.

As leituras são somente com escopo. O histórico de sessões expande cada Atlas Agent Engine session_id apenas para sua chave composta com escopo de espaço de trabalho; a chave simples sem escopo nunca é consultada depois que o escopo do espaço de trabalho é conhecido, porque as chaves vazias são legíveis e graváveis por todos os espaços de trabalho no armazenamento compartilhado. Portanto, os checkpoints legados escritos antes da existência do escopo não são atendidos pelos endpoints do histórico. Um escopo vazio é legítimo somente em tempos de execução explicitamente sem escopo (desenvolvimento e testes locais, sem APP_ID). AERs gerenciados carregam REQUIRE_PROJECT_SCOPED_DB; se APP_ID estiver ausente, as leituras e gravações falharão fechadas em vez de confiar no espaço de trabalho da conexão ou usar chaves simples. Os usuários de produção de chaves personalizadas ainda devem tratar a exclusividade da chave de checkpoint dentro de um banco de dados compartilhado como de propriedade do agente.

import { App } from "@mongodb-js/agent-engine-sdk-langgraph";
const app = new App({ appName: "support-agent" });
app.resolveThreadId((ctx) => `${ctx.sessionId}__${ctx.userId}`);
app.entrypoint(() => {
// Build the LangGraph graph here and pass this saver to graph.compile().
const checkpointer = app.checkpointer();
return buildGraph().compile({ checkpointer });
});
// On the agent AER pod, set CHECKPOINT_DB_NAME to the exact shared database.
funcionalidade
Python
TypeScript
Notas

servidores de ferramentas MCP

✅

✅

agent-engine-runner-shared mcp_tools.ts/mcp_oauth.ts do s, descoberta conectada a App.

langgraph.types.Overwrite

✅

. . . . . . . . . .

Ainda não está no LangGraph.js - tratado por meio de desembrulhamento defensivo.

Passe os diretórios de origem principais por App.deepAgent(..., { skills: [...] }). No tempo de execução, os agentes detalhados listam cada origem por meio do backend configurado e descobrem apenas seus diretórios filhos imediatos contendo SKILL.md; a descoberta não é recursiva. os deepagents ignoram o frontmatter ilegível ou unparsable e as habilidades faltam name ou description; ele avisa, mas ainda pode carregar violações de nomenclatura ou nome de diretório do agente. Esse SDK encaminha caminhos declarados sem inspecioná-los ou filtrá-los. A raiz de habilidades é resolvida na inicialização do Pod da Ferramenta, não no momento da importação do SDK, portanto, uma importação normal do SDK estática funciona — nenhuma solução alternativa na ordem de importação é necessária.

# install dependencies
npm install
# type-check only (no emit)
npm run typecheck
# build distributable
npm run build
# unit tests
npm run test
# lint
npm run lint
  • TypeScript rigoroso (strict: true + noUncheckedIndexedAccess + exactOptionalPropertyTypes).

  • Nomes de arquivos snake_case.

  • nomes de variáveis/função camelCase.

  • Nomes de /type da classe PascalCase.

  • Cada arquivo = responsabilidade única (uma classe ou um conceito focado).

  • A superfície pública depende de interfaces (inversão de dependência).

  • Sem segredos codificados, nunca.

Avalie esta página