API TypeScript
:::note В разработке
Полноценная TypeScript-реализация (@dagstack/plugin-system) находится в дорожной карте. Сейчас пакет содержит:
- Эмитируемые из спецификации константы (виды плагинов, коды ошибок, значения диспетчеров).
- Типы манифеста (
PluginManifest,ResourcesSpec,UnitOfWorkSpec).
Runtime (PluginRegistry, discover, диспетчеры, контрактные тесты) появится в одном из ближайших релизов.
:::
Что доступно сегодня
Если вы собираете плагин на TypeScript, пока можно полагаться на:
import {
PluginManifest,
KIND_LLM,
KIND_VECTOR_STORE,
KIND_CHUNKER,
KIND_PIPELINE,
KIND_TOOL,
RUNTIME_IN_PROCESS,
RUNTIME_MCP_STDIO,
RUNTIME_MCP_HTTP,
DISPATCH_SINGLETON,
DISPATCH_BROADCAST_COLLECT,
DISPATCH_BROADCAST_NOTIFY,
DISPATCH_CHAIN,
DISPATCH_CAPABILITY,
} from "@dagstack/plugin-system";
Эти константы синхронизированы с Python-реализацией через эмиттер спецификации — если Python использует kind = "llm", то и TypeScript-константа KIND_LLM === "llm".
Пока runtime недоступен
До выхода полноценного runtime команды на TypeScript имеют два пути:
- Обёртка над Python через MCP. Запускать плагины на Python через
mcp_stdio- илиmcp_http-адаптер и вызывать их из TypeScript-приложения по стандартному MCP-протоколу. - Ждать релиза runtime — следить за обновлениями в
@dagstack/plugin-systemна npmjs.org (пока опубликован в приватном реестре).
Что будет в справочнике, когда он появится
- Публичные символы из
@dagstack/plugin-system(runtime-ядро). - Протоколы / интерфейсы видов (
LLM,VectorStore,Chunker,Tool, ...). - Контрактные тесты
runContractSuite+ все проверки. - Стандартные ресурсы
Clock,Rng,BlobStore,HttpClientи их тестовые реализации. - MCP-адаптеры
MCPStdioAdapter,MCPHttpAdapter.
Генерация справочника — typedoc с выводом в markdown, коммит в site/docs/api/typescript/.