AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

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

TypeScript の Atlas エージェント エンジン用の LingGraphフレームワークワーク SDK。これは、LingGraph エージェントをプラットフォーム セキュリティ、監査する、 観察権 でラップします。 Pythonバージョンも利用可能です。

npm install @mongodb-js/agent-engine-sdk-langgraph
ファイル
目的

src/index.ts

パブリック再エクスポート(App、LangGraphBaseAgent など)

src/runtime.ts

App クラス— SDK エントリ点

src/agent.ts

LangGraphBaseAgent 折り返し CompiledStateGraph

src/query.ts

LangGraphQueryPlugin MongoDBSaver コレクションからの — セッションのサマリーとメッセージ

src/secure_llm.ts

SecureWrappedLLM — プロキシを介して LM 呼び出しをルーティングします

src/messages.ts

LgChuin ➤ プラットフォーム メッセージ トランスレーター

src/llm_adapter.ts

BaseChatModel からプラットフォーム BaseLLM へのアダプター

src/subagents.ts

サブエージェント ディスパッチ + lc_agent_name 追跡

src/node_logger_adapter.ts

LingGraph コールバック → NodeExecutionLogger

src/deep_agent.ts

deepagents ライブラリラッパー

src/deep_agent_task.ts

ディープエージェント task ツール呼び出し解析

src/deep_agent_checkpointer.ts

ディープエージェント チェックポイント ポリシー(アダプター所有の送信ルーティングを分離)

src/durable_deep_agent.ts

永続的なtaskディスパッチ: 子操作パス + メッセージ ID スタンプ

src/session_fork.ts

セッションフォーク: ネイティブ コピー + 耐久性がある OA ブランチ、 にラップ updateState

src/backends/toolpod.ts

AgentEngineToolPodBackend (sandbox backend)

以下の各行は、上位から下位の 1 つの依存関係ランク(実際のローカル インポートグラフから計算)です。

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

ファイルは、このツリーの下の行のファイルからのみインポートできます。その逆の方法で進むインポートはバグです。

環境変数
default
説明

MONGODB_URI

(設定されていない)

AERモードのチェックポイントとクエリプラグインのMongoDB接続ソース。

MDB_AGENTIC_STORE_DB

mdb_store

AERモードの LgGraph チェックポイントに使用されるプロジェクトごとのMongoDBストアのベース名。プロジェクトのスコープ設定と検出は、以下のようにオーバーライドされない限り、引き続き適用されます。

CHECKPOINT_DB_NAME

(設定されていない)

設定されている場合は、正確な MongoDBSaverデータベース名。プロジェクトのスコープ設定と検出をスキップします。これをエージェントAER ポッド環境または SecretRef に設定して、二重実行エージェントが共有するチェックポイントデータベースをオプトインします。

デフォルトでは 、LingGraphチェックポイントthread_id は session_id:workspace_id です。エージェントは app.resolveThreadId((ctx) => ...) を登録できます。その戻り値は、新しい呼び出しと再開呼び出しで冗長に使用され、ワークスペースサフィックスは追加されません。カスタムキーは Atlas Agent Engine /query/sessions* 履歴では表示されません。クエリでは、デフォルトのセッションまたはワークスペースから生成されたキーのみが検索されます。チェックポイントデータベース内の 衝突分離のスコープ設定をバイパスするエージェント。キーは、オンごとに RequestContext(セッションと認証された ID を含む)から再構築可能である必要があります。

読み取りはスコープ指定のみです。セッション履歴では、各 Atlas エージェント エンジン がワークスペースにスコープが設定された複合キーのみに拡張されます。必要最低限のキーは、共有ストア上のすべてのワークスペースで読み取りと書込みが可能であるため、ワークスペースのスコープが認識されるとクエリされません。スコープ設定が存在する前に書き込まれたレガシー チェックポイントは、履歴エンドポイントでは提供されません。空のスコープは、明示的にスコープが設定されていないランタイム(ローカル開発とテスト、session_id がない場合)でのみ正規化されます。マネージドAPP_ID AER には が含まれます。REQUIRE_PROJECT_SCOPED_DB APP_IDがない場合、ワイヤワークスペースを信頼したり、ベアキーを使用したりする代わりに、読み取りと書込みは失敗します。カスタム キーを本番環境で使用する場合でも、共有データベース内のチェックポイントキーの一意性をエージェント所有ものとして扱う必要があります。

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.
機能
Python
TypeScript
ノート

MCP ツール サーバー

✅

✅

agent-engine-runner-shared の mcp_tools.ts/mcp_oauth.ts により、App に接続された が検出されます。

langgraph.types.Overwrite

✅

❌ 機能

LgGraph.js ではまだありません - 防御的な展開によって処理されます。

App.deepAgent(..., { skills: [...] }) を介して親ソース ディレクトリを渡します。実行時に、ディープエージェントは構成されたバックエンドを通じて各ソースを一覧表示し、SKILL.md を含むその直下の子ディレクトリのみを検出します。検出は再帰的ではありません。深処理は、読み取りができないまたは解析できない前照合をスキップし、nameまたはdescriptionが欠落している特権をスキップします。警告は発せられますが、エージェント ルールの命名またはディレクトリ名の違反がロードされる可能性があります。この SDK は、宣言されたパスを検査やフィルタリングで転送します。スキーム ルートは、SDK インポート時ではなく、 ツール ポッドのスタートアップ時に解決される ため、通常の静的 SDK インポートが機能します。インポート順序の回避策は必要ありません。

# 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
  • Strict TypeScript(strict: true + noUncheckedIndexedAccess + exactOptionalPropertyTypes)。

  • Snake_case のファイル名。

  • キャメルケース 関数/変数名。

  • パスカルケースクラスまたは type 名。

  • 各ファイル= 単一の責任(1 つのクラスまたは 1 つのフォーカスされた概念)。

  • パブリック 画面は インターフェースに依存します(依存関係 インバージョン)。

  • ハードコードされたシークレットはありません。

このページを評価