diff --git a/docs/uk/plugins/sdk-migration.md b/docs/uk/plugins/sdk-migration.md index 13874b9ca..c811d19c9 100644 --- a/docs/uk/plugins/sdk-migration.md +++ b/docs/uk/plugins/sdk-migration.md @@ -2,16 +2,16 @@ read_when: - Ви бачите попередження OPENCLAW_PLUGIN_SDK_COMPAT_DEPRECATED - Ви бачите попередження OPENCLAW_EXTENSION_API_DEPRECATED - - Ви оновлюєте plugin до сучасної архітектури plugins + - Ви оновлюєте plugin до сучасної архітектури plugin - Ви підтримуєте зовнішній plugin OpenClaw sidebarTitle: Migrate to SDK -summary: Перехід із застарілого шару зворотної сумісності на сучасний plugin SDK +summary: Перейдіть із застарілого шару зворотної сумісності на сучасний plugin SDK title: Міграція Plugin SDK x-i18n: - generated_at: "2026-04-06T03:21:02Z" + generated_at: "2026-04-06T04:11:07Z" model: gpt-5.4 provider: openai - source_hash: f648ea36622ef899db7f31dff2d40bcd9c55b52f0d0c2e584925ace022c3c160 + source_hash: 94f12d1376edd8184714cc4dbea4a88fa8ed652f65e9365ede6176f3bf441b33 source_path: plugins/sdk-migration.md workflow: 15 --- @@ -19,65 +19,73 @@ x-i18n: # Міграція Plugin SDK OpenClaw перейшов від широкого шару зворотної сумісності до сучасної -архітектури plugins із цільовими, задокументованими імпортами. Якщо ваш plugin -було створено до появи нової архітектури, цей посібник допоможе вам перейти на неї. +архітектури plugin із цільовими, задокументованими імпортами. Якщо ваш plugin +було створено до появи нової архітектури, цей посібник допоможе вам виконати +міграцію. ## Що змінюється -Стара система plugins надавала дві широкі поверхні, які дозволяли plugins -імпортувати все необхідне з однієї точки входу: +Стара система plugin надавала дві дуже широкі поверхні, які дозволяли plugin +імпортувати все потрібне з однієї точки входу: -- **`openclaw/plugin-sdk/compat`** — єдиний імпорт, який повторно експортував десятки - допоміжних засобів. Його було запроваджено, щоб старіші plugins на основі hook - продовжували працювати, поки створювалася нова архітектура plugins. +- **`openclaw/plugin-sdk/compat`** — один імпорт, який повторно експортував + десятки допоміжних засобів. Його було запроваджено, щоб старіші plugin на + основі hooks продовжували працювати, поки створювалася нова архітектура + plugin. - **`openclaw/extension-api`** — міст, який надавав plugins прямий доступ до - допоміжних засобів на боці хоста, як-от вбудований запускальник агента. + допоміжних засобів на боці хоста, таких як вбудований запускальник агентів. -Обидві поверхні тепер **застарілі**. Вони все ще працюють під час виконання, але -нові plugins не повинні їх використовувати, а наявні plugins слід перенести до того, -як наступний мажорний випуск їх видалить. +Обидві поверхні тепер **застарілі**. Вони все ще працюють під час виконання, +але нові plugins не повинні їх використовувати, а наявні plugins мають +перейти з них до того, як у наступному мажорному релізі їх буде видалено. - Шар зворотної сумісності буде видалено в одному з майбутніх мажорних випусків. - Plugins, які все ще імпортують із цих поверхонь, перестануть працювати, коли це станеться. + Шар зворотної сумісності буде видалено в одному з майбутніх мажорних релізів. + Plugins, які й далі імпортують із цих поверхонь, перестануть працювати, + коли це станеться. ## Чому це змінилося Старий підхід спричиняв проблеми: -- **Повільний запуск** — імпорт одного допоміжного засобу завантажував десятки не пов’язаних модулів -- **Циклічні залежності** — широкі повторні експорти спрощували створення циклів імпорту -- **Нечітка поверхня API** — не було способу визначити, які експорти є стабільними, а які внутрішніми +- **Повільний запуск** — імпорт одного допоміжного засобу завантажував десятки + не пов’язаних між собою модулів +- **Циклічні залежності** — широкі повторні експорти спрощували створення + циклів імпорту +- **Нечітка поверхня API** — не було способу зрозуміти, які експорти є + стабільними, а які — внутрішніми Сучасний plugin SDK це виправляє: кожен шлях імпорту (`openclaw/plugin-sdk/\`) -є невеликим самодостатнім модулем із чітким призначенням і задокументованим контрактом. +є невеликим, самодостатнім модулем із чітким призначенням і задокументованим +контрактом. -Застарілі зручні seams постачальників для вбудованих каналів також прибрано. Імпорти -на кшталт `openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`, +Застарілі зручні seams провайдерів для вбудованих каналів також зникли. +Імпорти на кшталт `openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`, `openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`, -допоміжні seams із брендингом каналів, а також -`openclaw/plugin-sdk/telegram-core` були приватними скороченнями mono-repo, а не -стабільними контрактами plugins. Натомість використовуйте вузькі загальні підшляхи SDK. Усередині -вбудованого робочого простору plugin тримайте допоміжні засоби, що належать постачальнику, у власних +допоміжні seams із брендуванням каналу та +`openclaw/plugin-sdk/telegram-core` були приватними скороченнями для mono-repo, +а не стабільними контрактами plugin. Натомість використовуйте вузькі +загальні subpaths SDK. Усередині робочого простору вбудованих plugin +залишайте допоміжні засоби, що належать провайдеру, у власному `api.ts` або `runtime-api.ts` цього plugin. -Поточні приклади вбудованих постачальників: +Поточні приклади вбудованих провайдерів: -- Anthropic зберігає допоміжні засоби потоку, специфічні для Claude, у власному seam `api.ts` / - `contract-api.ts` -- OpenAI зберігає конструктори постачальника, допоміжні засоби моделей за замовчуванням і конструктори постачальника реального часу +- Anthropic зберігає допоміжні засоби потоку, специфічні для Claude, у + власному seam `api.ts` / `contract-api.ts` +- OpenAI зберігає конструктори провайдерів, допоміжні засоби моделей за + замовчуванням і конструктори realtime-провайдерів у власному `api.ts` +- OpenRouter зберігає конструктор провайдера та допоміжні засоби onboarding/config у власному `api.ts` -- OpenRouter зберігає конструктор постачальника та допоміжні засоби onboarding/config у власному - `api.ts` ## Як виконати міграцію - Якщо ваш plugin використовує `openclaw/plugin-sdk/windows-spawn`, нерозв’язані Windows - wrappers `.cmd`/`.bat` тепер завершуються з відмовою за замовчуванням, якщо ви явно не передасте - `allowShellFallback: true`. + Якщо ваш plugin використовує `openclaw/plugin-sdk/windows-spawn`, нерозв’язані + wrapper-и Windows `.cmd`/`.bat` тепер безпечно завершуються помилкою, якщо + ви явно не передасте `allowShellFallback: true`. ```typescript // Before @@ -92,8 +100,9 @@ OpenClaw перейшов від широкого шару зворотної с }); ``` - Якщо ваш код виклику навмисно не покладається на резервний shell, не встановлюйте - `allowShellFallback`, а натомість обробіть викинуту помилку. + Якщо ваш виклик не покладається навмисно на резервний перехід через shell, + не встановлюйте `allowShellFallback` і натомість обробляйте викинуту + помилку. @@ -107,8 +116,9 @@ OpenClaw перейшов від широкого шару зворотної с - - Кожен експорт зі старої поверхні відповідає певному сучасному шляху імпорту: + + Кожен експорт зі старої поверхні зіставляється з певним сучасним шляхом + імпорту: ```typescript // Before (deprecated backwards-compatibility layer) @@ -124,8 +134,8 @@ OpenClaw перейшов від широкого шару зворотної с import { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth"; ``` - Для допоміжних засобів на боці хоста використовуйте інжектований runtime plugin замість - прямого імпорту: + Для допоміжних засобів на боці хоста використовуйте впроваджений runtime + plugin замість прямого імпорту: ```typescript // Before (deprecated extension-api bridge) @@ -136,7 +146,8 @@ OpenClaw перейшов від широкого шару зворотної с const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt }); ``` - Такий самий шаблон застосовується й до інших застарілих допоміжних засобів bridge: + Той самий шаблон застосовується й до інших застарілих допоміжних засобів + bridge: | Старий імпорт | Сучасний еквівалент | | --- | --- | @@ -146,7 +157,7 @@ OpenClaw перейшов від широкого шару зворотної с | `resolveThinkingDefault` | `api.runtime.agent.resolveThinkingDefault` | | `resolveAgentTimeoutMs` | `api.runtime.agent.resolveAgentTimeoutMs` | | `ensureAgentWorkspace` | `api.runtime.agent.ensureAgentWorkspace` | - | допоміжні засоби сховища сесій | `api.runtime.agent.session.*` | + | допоміжні засоби session store | `api.runtime.agent.session.*` | @@ -164,55 +175,55 @@ OpenClaw перейшов від широкого шару зворотної с | Шлях імпорту | Призначення | Ключові експорти | | --- | --- | --- | | `plugin-sdk/plugin-entry` | Канонічний допоміжний засіб точки входу plugin | `definePluginEntry` | - | `plugin-sdk/core` | Застарілий узагальнений повторний експорт для визначень/конструкторів точок входу каналів | `defineChannelPluginEntry`, `createChatChannelPlugin` | + | `plugin-sdk/core` | Застарілий парасольковий повторний експорт для визначень/конструкторів входу каналу | `defineChannelPluginEntry`, `createChatChannelPlugin` | | `plugin-sdk/config-schema` | Експорт кореневої схеми config | `OpenClawSchema` | - | `plugin-sdk/provider-entry` | Допоміжний засіб точки входу для одного постачальника | `defineSingleProviderPluginEntry` | - | `plugin-sdk/channel-core` | Цільові визначення та конструктори точок входу каналів | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` | - | `plugin-sdk/setup` | Спільні допоміжні засоби майстра налаштування | Запити allowlist, конструктори стану налаштування | - | `plugin-sdk/setup-runtime` | Допоміжні засоби runtime для етапу налаштування | Безпечні для імпорту адаптери patch налаштування, допоміжні засоби нотаток пошуку, `promptResolvedAllowFrom`, `splitSetupEntries`, делеговані проксі налаштування | + | `plugin-sdk/provider-entry` | Допоміжний засіб точки входу для одного провайдера | `defineSingleProviderPluginEntry` | + | `plugin-sdk/channel-core` | Цільові визначення та конструктори входу каналу | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` | + | `plugin-sdk/setup` | Спільні допоміжні засоби майстра налаштування | Запити allowlist, конструктори статусу налаштування | + | `plugin-sdk/setup-runtime` | Допоміжні засоби runtime для етапу налаштування | Адаптери patch налаштування, безпечні для імпорту, допоміжні засоби для приміток пошуку, `promptResolvedAllowFrom`, `splitSetupEntries`, делеговані проксі налаштування | | `plugin-sdk/setup-adapter-runtime` | Допоміжні засоби адаптера налаштування | `createEnvPatchedAccountSetupAdapter` | - | `plugin-sdk/setup-tools` | Допоміжні засоби інструментів налаштування | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` | + | `plugin-sdk/setup-tools` | Допоміжні засоби інструментарію налаштування | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` | | `plugin-sdk/account-core` | Допоміжні засоби для кількох облікових записів | Допоміжні засоби списку облікових записів/config/action-gate | | `plugin-sdk/account-id` | Допоміжні засоби account-id | `DEFAULT_ACCOUNT_ID`, нормалізація account-id | - | `plugin-sdk/account-resolution` | Допоміжні засоби пошуку облікових записів | Допоміжні засоби пошуку облікового запису + резервного вибору за замовчуванням | - | `plugin-sdk/account-helpers` | Вузькі допоміжні засоби облікових записів | Допоміжні засоби списку облікових записів/дій з обліковими записами | + | `plugin-sdk/account-resolution` | Допоміжні засоби пошуку облікового запису | Допоміжні засоби пошуку облікового запису + fallback за замовчуванням | + | `plugin-sdk/account-helpers` | Вузькі допоміжні засоби облікового запису | Допоміжні засоби списку облікових записів/дій з обліковим записом | | `plugin-sdk/channel-setup` | Адаптери майстра налаштування | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, а також `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` | - | `plugin-sdk/channel-pairing` | Примітиви спаровування DM | `createChannelPairingController` | - | `plugin-sdk/channel-reply-pipeline` | Префікс відповіді + зв’язування індикатора набору | `createChannelReplyPipeline` | + | `plugin-sdk/channel-pairing` | Примітиви сполучення DM | `createChannelPairingController` | + | `plugin-sdk/channel-reply-pipeline` | Підключення префікса відповіді + індикатора набору | `createChannelReplyPipeline` | | `plugin-sdk/channel-config-helpers` | Фабрики адаптерів config | `createHybridChannelConfigAdapter` | | `plugin-sdk/channel-config-schema` | Конструктори схем config | Типи схем config каналу | | `plugin-sdk/telegram-command-config` | Допоміжні засоби config команд Telegram | Нормалізація назв команд, обрізання описів, перевірка дублікатів/конфліктів | | `plugin-sdk/channel-policy` | Визначення політики груп/DM | `resolveChannelGroupRequireMention` | - | `plugin-sdk/channel-lifecycle` | Відстеження стану облікового запису | `createAccountStatusSink` | - | `plugin-sdk/inbound-envelope` | Допоміжні засоби вхідного envelope | Спільні допоміжні засоби маршрутів + побудови envelope | - | `plugin-sdk/inbound-reply-dispatch` | Допоміжні засоби вхідних відповідей | Спільні допоміжні засоби запису та диспетчеризації | + | `plugin-sdk/channel-lifecycle` | Відстеження статусу облікового запису | `createAccountStatusSink` | + | `plugin-sdk/inbound-envelope` | Допоміжні засоби вхідного envelope | Спільні допоміжні засоби маршрутизації + конструктора envelope | + | `plugin-sdk/inbound-reply-dispatch` | Допоміжні засоби вхідної відповіді | Спільні допоміжні засоби запису та dispatch | | `plugin-sdk/messaging-targets` | Розбір цілей повідомлень | Допоміжні засоби розбору/зіставлення цілей | - | `plugin-sdk/outbound-media` | Допоміжні засоби вихідного media | Спільне завантаження вихідного media | - | `plugin-sdk/outbound-runtime` | Допоміжні засоби вихідного runtime | Допоміжні засоби делегування ідентичності/надсилання для вихідних повідомлень | - | `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби прив’язки thread | Допоміжні засоби життєвого циклу та адаптера прив’язки thread | + | `plugin-sdk/outbound-media` | Допоміжні засоби вихідних медіа | Спільне завантаження вихідних медіа | + | `plugin-sdk/outbound-runtime` | Допоміжні засоби вихідного runtime | Допоміжні засоби ідентичності вихідних даних/send delegate | + | `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби прив’язок потоків | Життєвий цикл прив’язки потоків і допоміжні засоби адаптера | | `plugin-sdk/agent-media-payload` | Застарілі допоміжні засоби media payload | Конструктор media payload агента для застарілих макетів полів | | `plugin-sdk/channel-runtime` | Застарілий shim сумісності | Лише застарілі утиліти runtime каналу | - | `plugin-sdk/channel-send-result` | Типи результатів надсилання | Типи результатів відповіді | + | `plugin-sdk/channel-send-result` | Типи результату send | Типи результату відповіді | | `plugin-sdk/runtime-store` | Постійне сховище plugin | `createPluginRuntimeStore` | - | `plugin-sdk/runtime` | Широкі допоміжні засоби runtime | Допоміжні засоби runtime/логування/резервного копіювання/встановлення plugin | - | `plugin-sdk/runtime-env` | Вузькі допоміжні засоби середовища runtime | Logger/runtime env, допоміжні засоби timeout, retry і backoff | - | `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби runtime plugin | Допоміжні засоби команд/hooks/http/interactive для plugin | - | `plugin-sdk/hook-runtime` | Допоміжні засоби конвеєра hook | Спільні допоміжні засоби конвеєра webhook/internal hook | - | `plugin-sdk/lazy-runtime` | Допоміжні засоби лінивого runtime | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` | + | `plugin-sdk/runtime` | Широкі допоміжні засоби runtime | Допоміжні засоби runtime/logging/backup/встановлення plugin | + | `plugin-sdk/runtime-env` | Вузькі допоміжні засоби env runtime | Допоміжні засоби logger/env runtime, timeout, retry і backoff | + | `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби runtime plugin | Допоміжні засоби plugin commands/hooks/http/interactive | + | `plugin-sdk/hook-runtime` | Допоміжні засоби pipeline hooks | Спільні допоміжні засоби pipeline webhook/internal hook | + | `plugin-sdk/lazy-runtime` | Допоміжні засоби lazy runtime | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` | | `plugin-sdk/process-runtime` | Допоміжні засоби процесів | Спільні допоміжні засоби exec | - | `plugin-sdk/cli-runtime` | Допоміжні засоби runtime CLI | Форматування команд, очікування, допоміжні засоби версій | - | `plugin-sdk/gateway-runtime` | Допоміжні засоби gateway | Клієнт gateway і допоміжні засоби patch стану каналів | + | `plugin-sdk/cli-runtime` | Допоміжні засоби runtime CLI | Форматування команд, очікування, допоміжні засоби версії | + | `plugin-sdk/gateway-runtime` | Допоміжні засоби gateway | Клієнт gateway і допоміжні засоби patch статусу каналу | | `plugin-sdk/config-runtime` | Допоміжні засоби config | Допоміжні засоби завантаження/запису config | - | `plugin-sdk/telegram-command-config` | Допоміжні засоби команд Telegram | Допоміжні засоби перевірки команд Telegram зі стабільним резервним варіантом, коли поверхня контракту вбудованого Telegram недоступна | - | `plugin-sdk/approval-runtime` | Допоміжні засоби запитів схвалення | Payload схвалення exec/plugin, допоміжні засоби можливостей/профілів схвалення, нативна маршрутизація/runtime схвалення | - | `plugin-sdk/approval-auth-runtime` | Допоміжні засоби auth для схвалення | Визначення approver, auth дій у тому самому чаті | - | `plugin-sdk/approval-client-runtime` | Допоміжні засоби клієнта схвалення | Допоміжні засоби профілю/фільтра нативного схвалення exec | - | `plugin-sdk/approval-delivery-runtime` | Допоміжні засоби доставки схвалення | Адаптери можливостей/доставки нативного схвалення | - | `plugin-sdk/approval-native-runtime` | Допоміжні засоби цілей схвалення | Допоміжні засоби прив’язки цілей/облікових записів нативного схвалення | - | `plugin-sdk/approval-reply-runtime` | Допоміжні засоби відповідей на схвалення | Допоміжні засоби payload відповідей для схвалення exec/plugin | - | `plugin-sdk/security-runtime` | Допоміжні засоби безпеки | Спільні допоміжні засоби довіри, DM gating, external-content і збирання секретів | - | `plugin-sdk/ssrf-policy` | Допоміжні засоби політики SSRF | Допоміжні засоби allowlist хостів і політики приватних мереж | - | `plugin-sdk/ssrf-runtime` | Допоміжні засоби runtime SSRF | Pinned-dispatcher, guarded fetch, допоміжні засоби політики SSRF | + | `plugin-sdk/telegram-command-config` | Допоміжні засоби команд Telegram | Допоміжні засоби перевірки команд Telegram зі стабільним fallback, коли поверхня контракту вбудованого Telegram недоступна | + | `plugin-sdk/approval-runtime` | Допоміжні засоби запиту approval | Payload approval для exec/plugin, допоміжні засоби capability/profile approval, нативні допоміжні засоби маршрутизації/runtime approval | + | `plugin-sdk/approval-auth-runtime` | Допоміжні засоби auth approval | Визначення approver, auth дій у тому самому чаті | + | `plugin-sdk/approval-client-runtime` | Допоміжні засоби клієнта approval | Нативні допоміжні засоби profile/filter approval для exec | + | `plugin-sdk/approval-delivery-runtime` | Допоміжні засоби доставки approval | Нативні адаптери capability/delivery approval | + | `plugin-sdk/approval-native-runtime` | Допоміжні засоби цілей approval | Нативні допоміжні засоби прив’язки цілей/облікових записів approval | + | `plugin-sdk/approval-reply-runtime` | Допоміжні засоби відповіді approval | Допоміжні засоби payload відповіді approval для exec/plugin | + | `plugin-sdk/security-runtime` | Допоміжні засоби безпеки | Спільні допоміжні засоби trust, DM gating, external-content і збирання секретів | + | `plugin-sdk/ssrf-policy` | Допоміжні засоби політики SSRF | Допоміжні засоби allowlist хостів і політики приватної мережі | + | `plugin-sdk/ssrf-runtime` | Допоміжні засоби runtime SSRF | Допоміжні засоби pinned-dispatcher, guarded fetch, політики SSRF | | `plugin-sdk/collection-runtime` | Допоміжні засоби обмеженого кешу | `pruneMapToMaxSize` | | `plugin-sdk/diagnostic-runtime` | Допоміжні засоби діагностичного gating | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` | | `plugin-sdk/error-runtime` | Допоміжні засоби форматування помилок | `formatUncaughtError`, `isApprovalNotFoundError`, допоміжні засоби графа помилок | @@ -220,108 +231,116 @@ OpenClaw перейшов від широкого шару зворотної с | `plugin-sdk/host-runtime` | Допоміжні засоби нормалізації хоста | `normalizeHostname`, `normalizeScpRemoteHost` | | `plugin-sdk/retry-runtime` | Допоміжні засоби retry | `RetryConfig`, `retryAsync`, засоби запуску політик | | `plugin-sdk/allow-from` | Форматування allowlist | `formatAllowFromLowercase` | - | `plugin-sdk/allowlist-resolution` | Зіставлення вхідних даних allowlist | `mapAllowlistResolutionInputs` | - | `plugin-sdk/command-auth` | Gating команд і допоміжні засоби поверхні команд | `resolveControlCommandGate`, допоміжні засоби авторизації відправника, допоміжні засоби реєстру команд | - | `plugin-sdk/secret-input` | Розбір введення секретів | Допоміжні засоби введення секретів | + | `plugin-sdk/allowlist-resolution` | Мапування вхідних даних allowlist | `mapAllowlistResolutionInputs` | + | `plugin-sdk/command-auth` | Допоміжні засоби gating команд і поверхні команд | `resolveControlCommandGate`, допоміжні засоби авторизації відправника, допоміжні засоби реєстру команд | + | `plugin-sdk/secret-input` | Розбір секретного вводу | Допоміжні засоби секретного вводу | | `plugin-sdk/webhook-ingress` | Допоміжні засоби запитів webhook | Утиліти цілей webhook | | `plugin-sdk/webhook-request-guards` | Допоміжні засоби guard для тіла webhook-запиту | Допоміжні засоби читання/обмеження тіла запиту | - | `plugin-sdk/reply-runtime` | Спільний runtime відповідей | Вхідна диспетчеризація, heartbeat, планувальник відповідей, поділ на частини | - | `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби диспетчеризації відповідей | Допоміжні засоби фіналізації + диспетчеризації постачальника | + | `plugin-sdk/reply-runtime` | Спільний runtime відповіді | Вхідний dispatch, heartbeat, планувальник відповідей, chunking | + | `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch відповіді | Допоміжні засоби finalize + dispatch провайдера | | `plugin-sdk/reply-history` | Допоміжні засоби історії відповідей | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` | - | `plugin-sdk/reply-reference` | Планування посилань на відповіді | `createReplyReferencePlanner` | - | `plugin-sdk/reply-chunking` | Допоміжні засоби поділу відповідей на частини | Допоміжні засоби поділу тексту/markdown на частини | - | `plugin-sdk/session-store-runtime` | Допоміжні засоби сховища сесій | Допоміжні засоби шляху сховища + updated-at | - | `plugin-sdk/state-paths` | Допоміжні засоби шляхів стану | Допоміжні засоби каталогів стану та OAuth | - | `plugin-sdk/routing` | Допоміжні засоби маршрутизації/ключів сесій | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`, допоміжні засоби нормалізації ключів сесій | - | `plugin-sdk/status-helpers` | Допоміжні засоби стану каналів | Конструктори зведення стану каналу/облікового запису, типові значення runtime-state, допоміжні засоби метаданих issue | - | `plugin-sdk/target-resolver-runtime` | Допоміжні засоби визначення цілей | Спільні допоміжні засоби визначення цілей | + | `plugin-sdk/reply-reference` | Планування reference відповіді | `createReplyReferencePlanner` | + | `plugin-sdk/reply-chunking` | Допоміжні засоби chunk відповіді | Допоміжні засоби chunking тексту/markdown | + | `plugin-sdk/session-store-runtime` | Допоміжні засоби session store | Допоміжні засоби шляху сховища + updated-at | + | `plugin-sdk/state-paths` | Допоміжні засоби шляхів стану | Допоміжні засоби каталогів state і OAuth | + | `plugin-sdk/routing` | Допоміжні засоби маршрутизації/ключа session | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`, допоміжні засоби нормалізації ключа session | + | `plugin-sdk/status-helpers` | Допоміжні засоби статусу каналу | Конструктори зведень статусу каналу/облікового запису, типові значення runtime-state, допоміжні засоби метаданих проблем | + | `plugin-sdk/target-resolver-runtime` | Допоміжні засоби визначення цілі | Спільні допоміжні засоби target resolver | | `plugin-sdk/string-normalization-runtime` | Допоміжні засоби нормалізації рядків | Допоміжні засоби нормалізації slug/рядків | - | `plugin-sdk/request-url` | Допоміжні засоби URL запиту | Витягування рядкових URL із запитоподібних входів | - | `plugin-sdk/run-command` | Допоміжні засоби команд із тайм-аутом | Запускач команд із тайм-аутом і нормалізованими stdout/stderr | - | `plugin-sdk/param-readers` | Зчитувачі параметрів | Загальні зчитувачі параметрів інструментів/CLI | - | `plugin-sdk/tool-send` | Витягування надсилання інструмента | Витягування канонічних полів цілі надсилання з аргументів інструмента | - | `plugin-sdk/temp-path` | Допоміжні засоби тимчасових шляхів | Спільні допоміжні засоби шляху для тимчасових завантажень | - | `plugin-sdk/logging-core` | Допоміжні засоби логування | Допоміжні засоби logger підсистеми та редагування | - | `plugin-sdk/markdown-table-runtime` | Допоміжні засоби markdown-таблиць | Допоміжні засоби режимів markdown-таблиць | - | `plugin-sdk/reply-payload` | Типи відповідей повідомлень | Типи payload відповідей | - | `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локальних/self-hosted постачальників | Допоміжні засоби виявлення/config для self-hosted постачальників | - | `plugin-sdk/self-hosted-provider-setup` | Цільові допоміжні засоби налаштування self-hosted постачальників, сумісних з OpenAI | Ті самі допоміжні засоби виявлення/config для self-hosted постачальників | - | `plugin-sdk/provider-auth-runtime` | Допоміжні засоби auth постачальника під час runtime | Допоміжні засоби визначення API-ключа під час runtime | - | `plugin-sdk/provider-auth-api-key` | Допоміжні засоби налаштування API-ключа постачальника | Допоміжні засоби onboarding/запису профілю для API-ключа | - | `plugin-sdk/provider-auth-result` | Допоміжні засоби результату auth постачальника | Стандартний конструктор результату OAuth auth | - | `plugin-sdk/provider-auth-login` | Допоміжні засоби інтерактивного входу постачальника | Спільні допоміжні засоби інтерактивного входу | - | `plugin-sdk/provider-env-vars` | Допоміжні засоби env vars постачальника | Допоміжні засоби пошуку env vars auth постачальника | - | `plugin-sdk/provider-model-shared` | Спільні допоміжні засоби моделей/повторного відтворення постачальника | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні конструктори політики повторного відтворення, допоміжні засоби endpoint постачальника та допоміжні засоби нормалізації model-id | - | `plugin-sdk/provider-catalog-shared` | Спільні допоміжні засоби каталогу постачальника | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` | - | `plugin-sdk/provider-onboard` | Patches onboarding постачальника | Допоміжні засоби config onboarding | - | `plugin-sdk/provider-http` | Допоміжні засоби HTTP постачальника | Загальні допоміжні засоби HTTP/можливостей endpoint постачальника | - | `plugin-sdk/provider-web-fetch` | Допоміжні засоби web-fetch постачальника | Допоміжні засоби реєстрації/кешу постачальника web-fetch | - | `plugin-sdk/provider-web-search` | Допоміжні засоби web-search постачальника | Допоміжні засоби реєстрації/кешу/config постачальника web-search | - | `plugin-sdk/provider-tools` | Допоміжні засоби сумісності інструментів/схем постачальника | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схем Gemini + діагностика, а також допоміжні засоби сумісності xAI, такі як `resolveXaiModelCompatPatch` / `applyXaiModelCompat` | - | `plugin-sdk/provider-usage` | Допоміжні засоби використання постачальника | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage` та інші допоміжні засоби використання постачальника | - | `plugin-sdk/provider-stream` | Допоміжні засоби обгорток потоків постачальника | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи обгорток потоків і спільні допоміжні засоби обгорток Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot | + | `plugin-sdk/request-url` | Допоміжні засоби URL запиту | Витягування рядкових URL з request-подібних вхідних даних | + | `plugin-sdk/run-command` | Допоміжні засоби команд із таймером | Виконавець команд із нормалізованими stdout/stderr | + | `plugin-sdk/param-readers` | Зчитувачі параметрів | Загальні зчитувачі параметрів tool/CLI | + | `plugin-sdk/tool-send` | Витягування send для tool | Витягування канонічних полів цілі send з аргументів tool | + | `plugin-sdk/temp-path` | Допоміжні засоби тимчасових шляхів | Спільні допоміжні засоби тимчасового шляху для завантаження | + | `plugin-sdk/logging-core` | Допоміжні засоби logging | Допоміжні засоби logger підсистеми та редагування | + | `plugin-sdk/markdown-table-runtime` | Допоміжні засоби markdown-table | Допоміжні засоби режиму таблиць markdown | + | `plugin-sdk/reply-payload` | Типи payload відповіді повідомлення | Типи payload відповіді | + | `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локальних/self-hosted провайдерів | Допоміжні засоби виявлення/config self-hosted провайдера | + | `plugin-sdk/self-hosted-provider-setup` | Цільові допоміжні засоби налаштування self-hosted провайдерів, сумісних з OpenAI | Ті самі допоміжні засоби виявлення/config self-hosted провайдера | + | `plugin-sdk/provider-auth-runtime` | Допоміжні засоби auth runtime провайдера | Допоміжні засоби визначення API key під час виконання | + | `plugin-sdk/provider-auth-api-key` | Допоміжні засоби налаштування API key провайдера | Допоміжні засоби onboarding/profile-write для API key | + | `plugin-sdk/provider-auth-result` | Допоміжні засоби результату auth провайдера | Стандартний конструктор результату auth OAuth | + | `plugin-sdk/provider-auth-login` | Допоміжні засоби інтерактивного входу провайдера | Спільні допоміжні засоби інтерактивного входу | + | `plugin-sdk/provider-env-vars` | Допоміжні засоби env vars провайдера | Допоміжні засоби пошуку env vars auth провайдера | + | `plugin-sdk/provider-model-shared` | Спільні допоміжні засоби моделей/повторного відтворення провайдера | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні конструктори політики повторного відтворення, допоміжні засоби endpoint провайдера та нормалізації model-id | + | `plugin-sdk/provider-catalog-shared` | Спільні допоміжні засоби каталогу провайдера | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` | + | `plugin-sdk/provider-onboard` | Patches onboarding провайдера | Допоміжні засоби config onboarding | + | `plugin-sdk/provider-http` | Допоміжні засоби HTTP провайдера | Загальні допоміжні засоби HTTP/можливостей endpoint провайдера | + | `plugin-sdk/provider-web-fetch` | Допоміжні засоби web-fetch провайдера | Допоміжні засоби реєстрації/кешу провайдера web-fetch | + | `plugin-sdk/provider-web-search` | Допоміжні засоби web-search провайдера | Допоміжні засоби реєстрації/кешу/config провайдера web-search | + | `plugin-sdk/provider-tools` | Допоміжні засоби сумісності tool/schema провайдера | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика, а також допоміжні засоби сумісності xAI, такі як `resolveXaiModelCompatPatch` / `applyXaiModelCompat` | + | `plugin-sdk/provider-usage` | Допоміжні засоби використання провайдера | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage` та інші допоміжні засоби використання провайдера | + | `plugin-sdk/provider-stream` | Допоміжні засоби обгортки потоку провайдера | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи обгорток потоку та спільні допоміжні засоби обгорток Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot | | `plugin-sdk/keyed-async-queue` | Упорядкована асинхронна черга | `KeyedAsyncQueue` | - | `plugin-sdk/media-runtime` | Спільні допоміжні засоби media | Допоміжні засоби отримання/перетворення/зберігання media, а також конструктори media payload | - | `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби генерації media | Спільні допоміжні засоби failover, вибору кандидатів і повідомлень про відсутню модель для генерації зображень/відео/музики | - | `plugin-sdk/media-understanding` | Допоміжні засоби media-understanding | Типи постачальників media understanding, а також експорти допоміжних засобів для зображень/аудіо, орієнтовані на постачальника | - | `plugin-sdk/text-runtime` | Спільні допоміжні засоби тексту | Видалення видимого для асистента тексту, допоміжні засоби рендерингу/chunking/таблиць markdown, редагування, допоміжні засоби тегів директив, утиліти safe-text та інші пов’язані допоміжні засоби тексту/логування | - | `plugin-sdk/text-chunking` | Допоміжні засоби поділу тексту на частини | Допоміжний засіб поділу вихідного тексту на частини | - | `plugin-sdk/speech` | Допоміжні засоби speech | Типи постачальників speech, а також експорти допоміжних засобів директив, реєстру та валідації, орієнтовані на постачальника | - | `plugin-sdk/speech-core` | Спільне ядро speech | Типи постачальників speech, реєстр, директиви, нормалізація | - | `plugin-sdk/realtime-transcription` | Допоміжні засоби транскрипції в реальному часі | Типи постачальників і допоміжні засоби реєстру | - | `plugin-sdk/realtime-voice` | Допоміжні засоби голосу в реальному часі | Типи постачальників і допоміжні засоби реєстру | - | `plugin-sdk/image-generation-core` | Спільне ядро генерації зображень | Допоміжні засоби типів, failover, auth і реєстру для генерації зображень | - | `plugin-sdk/music-generation` | Допоміжні засоби генерації музики | Типи постачальника/запиту/результату генерації музики | - | `plugin-sdk/music-generation-core` | Спільне ядро генерації музики | Типи генерації музики, допоміжні засоби failover, пошуку постачальника та розбору model-ref | - | `plugin-sdk/video-generation` | Допоміжні засоби генерації відео | Типи постачальника/запиту/результату генерації відео | - | `plugin-sdk/video-generation-core` | Спільне ядро генерації відео | Типи генерації відео, допоміжні засоби failover, пошуку постачальника та розбору model-ref | - | `plugin-sdk/interactive-runtime` | Допоміжні засоби інтерактивних відповідей | Нормалізація/редукція payload інтерактивних відповідей | - | `plugin-sdk/channel-config-primitives` | Примітиви config каналу | Вузькі примітиви schema config каналу | + | `plugin-sdk/media-runtime` | Спільні допоміжні засоби медіа | Допоміжні засоби fetch/transform/store медіа та конструктори media payload | + | `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби генерації медіа | Спільні допоміжні засоби failover, вибору кандидатів і повідомлень про відсутню модель для генерації зображень/відео/музики | + | `plugin-sdk/media-understanding` | Допоміжні засоби media-understanding | Типи провайдерів media understanding та експорти допоміжних засобів зображення/аудіо для провайдера | + | `plugin-sdk/text-runtime` | Спільні допоміжні засоби тексту | Видалення тексту, видимого асистенту, допоміжні засоби render/chunking/table для markdown, допоміжні засоби редагування, допоміжні засоби тегів директив, утиліти безпечного тексту та пов’язані допоміжні засоби text/logging | + | `plugin-sdk/text-chunking` | Допоміжні засоби chunking тексту | Допоміжний засіб chunking вихідного тексту | + | `plugin-sdk/speech` | Допоміжні засоби speech | Типи провайдерів speech та експорти допоміжних засобів directives, registry і validation для провайдера | + | `plugin-sdk/speech-core` | Спільне ядро speech | Типи провайдерів speech, registry, directives, normalization | + | `plugin-sdk/realtime-transcription` | Допоміжні засоби realtime transcription | Типи провайдерів і допоміжні засоби registry | + | `plugin-sdk/realtime-voice` | Допоміжні засоби realtime voice | Типи провайдерів і допоміжні засоби registry | + | `plugin-sdk/image-generation-core` | Спільне ядро генерації зображень | Допоміжні засоби типів, failover, auth і registry для генерації зображень | + | `plugin-sdk/music-generation` | Допоміжні засоби генерації музики | Типи провайдера/запиту/результату генерації музики | + | `plugin-sdk/music-generation-core` | Спільне ядро генерації музики | Допоміжні засоби типів, failover, пошуку провайдера та розбору model-ref для генерації музики | + | `plugin-sdk/video-generation` | Допоміжні засоби генерації відео | Типи провайдера/запиту/результату генерації відео | + | `plugin-sdk/video-generation-core` | Спільне ядро генерації відео | Допоміжні засоби типів, failover, пошуку провайдера та розбору model-ref для генерації відео | + | `plugin-sdk/interactive-runtime` | Допоміжні засоби інтерактивної відповіді | Нормалізація/зменшення payload інтерактивної відповіді | + | `plugin-sdk/channel-config-primitives` | Примітиви config каналу | Вузькі примітиви channel config-schema | | `plugin-sdk/channel-config-writes` | Допоміжні засоби запису config каналу | Допоміжні засоби авторизації запису config каналу | - | `plugin-sdk/channel-plugin-common` | Спільний prelude каналу | Експорти спільного prelude plugin каналу | - | `plugin-sdk/channel-status` | Допоміжні засоби стану каналу | Спільні допоміжні засоби знімків/зведень стану каналу | + | `plugin-sdk/channel-plugin-common` | Спільний прелюд каналу | Експорти спільного прелюду channel plugin | + | `plugin-sdk/channel-status` | Допоміжні засоби статусу каналу | Спільні допоміжні засоби snapshot/summary статусу каналу | | `plugin-sdk/allowlist-config-edit` | Допоміжні засоби config allowlist | Допоміжні засоби редагування/читання config allowlist | - | `plugin-sdk/group-access` | Допоміжні засоби доступу груп | Спільні допоміжні засоби рішень щодо group-access | + | `plugin-sdk/group-access` | Допоміжні засоби доступу до групи | Спільні допоміжні засоби рішень щодо group-access | | `plugin-sdk/direct-dm` | Допоміжні засоби direct-DM | Спільні допоміжні засоби auth/guard для direct-DM | | `plugin-sdk/extension-shared` | Спільні допоміжні засоби extension | Примітиви допоміжних засобів passive-channel/status | - | `plugin-sdk/webhook-targets` | Допоміжні засоби цілей webhook | Допоміжні засоби реєстру цілей webhook та встановлення маршрутів | + | `plugin-sdk/webhook-targets` | Допоміжні засоби цілей webhook | Реєстр цілей webhook і допоміжні засоби встановлення маршрутів | | `plugin-sdk/webhook-path` | Допоміжні засоби шляху webhook | Допоміжні засоби нормалізації шляху webhook | - | `plugin-sdk/web-media` | Спільні допоміжні засоби web media | Допоміжні засоби завантаження віддаленого/локального media | + | `plugin-sdk/web-media` | Спільні допоміжні засоби web media | Допоміжні засоби завантаження віддалених/локальних медіа | | `plugin-sdk/zod` | Повторний експорт Zod | Повторно експортований `zod` для споживачів plugin SDK | | `plugin-sdk/memory-core` | Вбудовані допоміжні засоби memory-core | Поверхня допоміжних засобів memory manager/config/file/CLI | - | `plugin-sdk/memory-core-engine-runtime` | Фасад runtime рушія memory | Фасад runtime індексації/пошуку memory | - | `plugin-sdk/memory-core-host-engine-foundation` | Базовий рушій хоста memory | Експорти базового рушія хоста memory | - | `plugin-sdk/memory-core-host-engine-embeddings` | Рушій embedding хоста memory | Експорти рушія embedding хоста memory | - | `plugin-sdk/memory-core-host-engine-qmd` | Рушій QMD хоста memory | Експорти рушія QMD хоста memory | - | `plugin-sdk/memory-core-host-engine-storage` | Рушій зберігання хоста memory | Експорти рушія зберігання хоста memory | - | `plugin-sdk/memory-core-host-multimodal` | Допоміжні засоби multimodal хоста memory | Допоміжні засоби multimodal хоста memory | - | `plugin-sdk/memory-core-host-query` | Допоміжні засоби query хоста memory | Допоміжні засоби query хоста memory | - | `plugin-sdk/memory-core-host-secret` | Допоміжні засоби secret хоста memory | Допоміжні засоби secret хоста memory | - | `plugin-sdk/memory-core-host-status` | Допоміжні засоби стану хоста memory | Допоміжні засоби стану хоста memory | - | `plugin-sdk/memory-core-host-runtime-cli` | Runtime CLI хоста memory | Допоміжні засоби runtime CLI хоста memory | - | `plugin-sdk/memory-core-host-runtime-core` | Базовий runtime хоста memory | Допоміжні засоби базового runtime хоста memory | - | `plugin-sdk/memory-core-host-runtime-files` | Допоміжні засоби файлів/runtime хоста memory | Допоміжні засоби файлів/runtime хоста memory | + | `plugin-sdk/memory-core-engine-runtime` | Фасад runtime рушія пам’яті | Фасад runtime індексації/пошуку пам’яті | + | `plugin-sdk/memory-core-host-engine-foundation` | Базовий рушій хоста пам’яті | Експорти базового рушія хоста пам’яті | + | `plugin-sdk/memory-core-host-engine-embeddings` | Рушій embedding хоста пам’яті | Експорти рушія embedding хоста пам’яті | + | `plugin-sdk/memory-core-host-engine-qmd` | Рушій QMD хоста пам’яті | Експорти рушія QMD хоста пам’яті | + | `plugin-sdk/memory-core-host-engine-storage` | Рушій сховища хоста пам’яті | Експорти рушія сховища хоста пам’яті | + | `plugin-sdk/memory-core-host-multimodal` | Мультимодальні допоміжні засоби хоста пам’яті | Мультимодальні допоміжні засоби хоста пам’яті | + | `plugin-sdk/memory-core-host-query` | Допоміжні засоби запитів хоста пам’яті | Допоміжні засоби запитів хоста пам’яті | + | `plugin-sdk/memory-core-host-secret` | Допоміжні засоби секретів хоста пам’яті | Допоміжні засоби секретів хоста пам’яті | + | `plugin-sdk/memory-core-host-events` | Допоміжні засоби журналу подій хоста пам’яті | Допоміжні засоби журналу подій хоста пам’яті | + | `plugin-sdk/memory-core-host-status` | Допоміжні засоби статусу хоста пам’яті | Допоміжні засоби статусу хоста пам’яті | + | `plugin-sdk/memory-core-host-runtime-cli` | CLI runtime хоста пам’яті | Допоміжні засоби CLI runtime хоста пам’яті | + | `plugin-sdk/memory-core-host-runtime-core` | Базовий runtime хоста пам’яті | Допоміжні засоби базового runtime хоста пам’яті | + | `plugin-sdk/memory-core-host-runtime-files` | Допоміжні засоби файлів/runtime хоста пам’яті | Допоміжні засоби файлів/runtime хоста пам’яті | + | `plugin-sdk/memory-host-core` | Псевдонім базового runtime хоста пам’яті | Вендорно-нейтральний псевдонім для допоміжних засобів базового runtime хоста пам’яті | + | `plugin-sdk/memory-host-events` | Псевдонім журналу подій хоста пам’яті | Вендорно-нейтральний псевдонім для допоміжних засобів журналу подій хоста пам’яті | + | `plugin-sdk/memory-host-files` | Псевдонім файлів/runtime хоста пам’яті | Вендорно-нейтральний псевдонім для допоміжних засобів файлів/runtime хоста пам’яті | + | `plugin-sdk/memory-host-markdown` | Допоміжні засоби керованого markdown | Спільні допоміжні засоби керованого markdown для plugin, суміжних із пам’яттю | + | `plugin-sdk/memory-host-search` | Фасад пошуку активної пам’яті | Лінивий фасад runtime search-manager активної пам’яті | + | `plugin-sdk/memory-host-status` | Псевдонім статусу хоста пам’яті | Вендорно-нейтральний псевдонім для допоміжних засобів статусу хоста пам’яті | | `plugin-sdk/memory-lancedb` | Вбудовані допоміжні засоби memory-lancedb | Поверхня допоміжних засобів memory-lancedb | - | `plugin-sdk/testing` | Тестові утиліти | Допоміжні засоби тестування та mocks | + | `plugin-sdk/testing` | Утиліти тестування | Допоміжні засоби тестування та mocks | -Ця таблиця навмисно охоплює поширену підмножину для міграції, а не повну -поверхню SDK. Повний список із понад 200 точок входу наведено у +Ця таблиця навмисно містить поширену підмножину для міграції, а не повну +поверхню SDK. Повний список із понад 200 точок входу міститься у `scripts/lib/plugin-sdk-entrypoints.json`. -Цей список усе ще містить деякі допоміжні seams вбудованих plugins, такі як -`plugin-sdk/feishu`, `plugin-sdk/feishu-setup`, `plugin-sdk/zalo`, +У цьому списку все ще є деякі seams допоміжних засобів вбудованих plugin, +такі як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`, `plugin-sdk/zalo`, `plugin-sdk/zalo-setup` і `plugin-sdk/matrix*`. Вони й далі експортуються для -підтримки вбудованих plugins і сумісності, але навмисно не включені до поширеної таблиці міграції -і не є рекомендованою ціллю для нового коду plugin. +підтримки та сумісності вбудованих plugin, але навмисно не включені до +таблиці поширеної міграції й не є рекомендованою ціллю для нового коду plugin. -Те саме правило застосовується до інших сімейств вбудованих допоміжних засобів, зокрема: +Те саме правило застосовується до інших сімейств вбудованих допоміжних засобів, +таких як: - допоміжні засоби підтримки браузера: `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` - Matrix: `plugin-sdk/matrix*` - LINE: `plugin-sdk/line*` - IRC: `plugin-sdk/irc*` -- поверхні вбудованих helper/plugin, такі як `plugin-sdk/googlechat`, +- поверхні вбудованих допоміжних засобів/plugin, такі як `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles*`, `plugin-sdk/mattermost*`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, @@ -330,26 +349,27 @@ OpenClaw перейшов від широкого шару зворотної с `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership` і `plugin-sdk/voice-call` -`plugin-sdk/github-copilot-token` наразі надає вузьку поверхню допоміжних засобів токенів -`DEFAULT_COPILOT_API_BASE_URL`, +`plugin-sdk/github-copilot-token` наразі надає вузьку поверхню допоміжних +засобів токена `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken`. -Використовуйте найвужчий імпорт, який відповідає вашому завданню. Якщо ви не можете знайти потрібний експорт, -перевірте джерельний код у `src/plugin-sdk/` або запитайте в Discord. +Використовуйте найвужчий імпорт, який відповідає завданню. Якщо ви не можете +знайти потрібний експорт, перегляньте вихідний код у `src/plugin-sdk/` або +запитайте в Discord. ## Часова шкала видалення | Коли | Що відбувається | | ---------------------- | ----------------------------------------------------------------------- | -| **Зараз** | Застарілі поверхні видають попередження під час runtime | -| **Наступний мажорний випуск** | Застарілі поверхні буде видалено; plugins, які досі їх використовують, перестануть працювати | +| **Зараз** | Застарілі поверхні виводять попередження під час виконання | +| **Наступний мажорний реліз** | Застарілі поверхні буде видалено; plugins, які все ще їх використовують, перестануть працювати | -Усі основні plugins уже перенесено. Зовнішні plugins слід перенести -до наступного мажорного випуску. +Усі core plugins уже мігровано. Зовнішні plugins мають виконати міграцію +до наступного мажорного релізу. ## Тимчасове приглушення попереджень -Під час роботи над міграцією встановіть ці змінні середовища: +Поки ви працюєте над міграцією, установіть ці змінні середовища: ```bash OPENCLAW_SUPPRESS_PLUGIN_SDK_COMPAT_WARNING=1 openclaw gateway run @@ -361,8 +381,8 @@ OPENCLAW_SUPPRESS_EXTENSION_API_WARNING=1 openclaw gateway run ## Пов’язане - [Початок роботи](/uk/plugins/building-plugins) — створіть свій перший plugin -- [Огляд SDK](/uk/plugins/sdk-overview) — повний довідник підшляхів імпорту +- [Огляд SDK](/uk/plugins/sdk-overview) — повний довідник імпортів subpath - [Channel Plugins](/uk/plugins/sdk-channel-plugins) — створення channel plugins - [Provider Plugins](/uk/plugins/sdk-provider-plugins) — створення provider plugins -- [Внутрішня будова plugins](/uk/plugins/architecture) — глибоке занурення в архітектуру +- [Внутрішня будова Plugins](/uk/plugins/architecture) — глибоке занурення в архітектуру - [Маніфест Plugin](/uk/plugins/manifest) — довідник зі схеми маніфесту diff --git a/docs/uk/plugins/sdk-overview.md b/docs/uk/plugins/sdk-overview.md index daf9b9d2c..e9855be85 100644 --- a/docs/uk/plugins/sdk-overview.md +++ b/docs/uk/plugins/sdk-overview.md @@ -1,16 +1,16 @@ --- read_when: - Вам потрібно знати, з якого підшляху SDK імпортувати - - Ви хочете отримати довідник для всіх методів реєстрації в OpenClawPluginApi + - Вам потрібен довідник для всіх методів реєстрації в OpenClawPluginApi - Ви шукаєте конкретний експорт SDK sidebarTitle: SDK Overview summary: Карта імпортів, довідник API реєстрації та архітектура SDK title: Огляд Plugin SDK x-i18n: - generated_at: "2026-04-06T03:21:19Z" + generated_at: "2026-04-06T04:11:16Z" model: gpt-5.4 provider: openai - source_hash: d89657424b9449433caadfd0bf7df30c6054c1ec2b66970d209504395bf78072 + source_hash: acd2887ef52c66b2f234858d812bb04197ecd0bfb3e4f7bf3622f8fdc765acad source_path: plugins/sdk-overview.md workflow: 15 --- @@ -22,7 +22,7 @@ Plugin SDK — це типізований контракт між plugins і co **Шукаєте практичний посібник?** - - Перший plugin? Почніть із [Початок роботи](/uk/plugins/building-plugins) + - Перший plugin? Почніть із [Getting Started](/uk/plugins/building-plugins) - Channel plugin? Див. [Channel Plugins](/uk/plugins/sdk-channel-plugins) - Provider plugin? Див. [Provider Plugins](/uk/plugins/sdk-provider-plugins) @@ -36,25 +36,25 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core"; ``` -Кожен підшлях — це невеликий самодостатній модуль. Це забезпечує швидкий -запуск і запобігає проблемам із циклічними залежностями. Для специфічних для channel -допоміжних засобів entry/build віддавайте перевагу `openclaw/plugin-sdk/channel-core`; залишайте `openclaw/plugin-sdk/core` для -ширшої поверхні umbrella та спільних допоміжних засобів, таких як +Кожен підшлях — це невеликий, самодостатній модуль. Це пришвидшує запуск і +запобігає проблемам із циклічними залежностями. Для специфічних для channel +helpers входу/збирання надавайте перевагу `openclaw/plugin-sdk/channel-core`; `openclaw/plugin-sdk/core` +залишайте для ширшої umbrella-поверхні та спільних helpers, таких як `buildChannelConfigSchema`. -Не додавайте і не покладайтеся на зручні шви, названі на честь provider, такі як +Не додавайте та не покладайтеся на зручні seams з назвами provider, такі як `openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`, `openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`, або -допоміжні шви з брендуванням channel. Вбудовані plugins мають компонувати загальні -підшляхи SDK у власних barrel-файлах `api.ts` або `runtime-api.ts`, а core -має або використовувати ці локальні для plugin barrel-файли, або додати вузький загальний контракт SDK, -коли потреба справді є міжканальною. +брендовані під channels helper seams. Bundled plugins мають компонувати загальні +підшляхи SDK у власних barrels `api.ts` або `runtime-api.ts`, а core +має або використовувати ці локальні для plugin barrels, або додавати вузький загальний SDK +contract, коли потреба справді є між channel. -Згенерована карта експортів усе ще містить невеликий набір допоміжних -швів для вбудованих plugins, таких як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`, +Згенерована карта експортів усе ще містить невеликий набір helper seams для bundled-plugin, +таких як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`, `plugin-sdk/zalo`, `plugin-sdk/zalo-setup` і `plugin-sdk/matrix*`. Ці -підшляхи існують лише для підтримки й сумісності вбудованих plugins; їх -навмисно пропущено в загальній таблиці нижче, і вони не є рекомендованим +підшляхи існують лише для супроводу bundled plugins і сумісності; вони +навмисно не включені до загальної таблиці нижче і не є рекомендованим шляхом імпорту для нових сторонніх plugins. ## Довідник підшляхів @@ -62,11 +62,11 @@ import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core"; Найуживаніші підшляхи, згруповані за призначенням. Згенерований повний список із понад 200 підшляхів міститься в `scripts/lib/plugin-sdk-entrypoints.json`. -Зарезервовані допоміжні підшляхи для вбудованих plugins усе ще з’являються в цьому -згенерованому списку. Розглядайте їх як деталі реалізації/поверхні сумісності, якщо тільки сторінка документації -явно не позначає якийсь із них як публічний. +Зарезервовані helper підшляхи bundled-plugin усе ще з’являються в цьому згенерованому списку. +Розглядайте їх як поверхні деталей реалізації/сумісності, якщо лише сторінка документації +не просуває якийсь із них явно як публічний. -### Entry plugin +### Вхід plugin | Subpath | Ключові експорти | | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | @@ -82,259 +82,268 @@ import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core"; | `plugin-sdk/channel-core` | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` | | `plugin-sdk/config-schema` | Експорт кореневої Zod-схеми `openclaw.json` (`OpenClawSchema`) | | `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, а також `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` | - | `plugin-sdk/setup` | Спільні допоміжні засоби майстра налаштування, запити allowlist, побудовники статусу налаштування | + | `plugin-sdk/setup` | Спільні helpers майстра налаштування, запити allowlist, збирачі status налаштування | | `plugin-sdk/setup-runtime` | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` | | `plugin-sdk/setup-adapter-runtime` | `createEnvPatchedAccountSetupAdapter` | | `plugin-sdk/setup-tools` | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` | - | `plugin-sdk/account-core` | Допоміжні засоби багатoоблікового запису config/action-gate, допоміжні засоби резервного варіанта облікового запису за замовчуванням | - | `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні засоби нормалізації account-id | - | `plugin-sdk/account-resolution` | Пошук облікового запису + допоміжні засоби резервного варіанта за замовчуванням | - | `plugin-sdk/account-helpers` | Вузькі допоміжні засоби списку облікових записів/дій з обліковими записами | + | `plugin-sdk/account-core` | Helpers мультиакаунтної конфігурації/action-gate, helpers fallback стандартного акаунта | + | `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, helpers нормалізації account-id | + | `plugin-sdk/account-resolution` | Пошук акаунта + helpers fallback за замовчуванням | + | `plugin-sdk/account-helpers` | Вузькі helpers списку акаунтів/дій з акаунтами | | `plugin-sdk/channel-pairing` | `createChannelPairingController` | | `plugin-sdk/channel-reply-pipeline` | `createChannelReplyPipeline` | | `plugin-sdk/channel-config-helpers` | `createHybridChannelConfigAdapter` | - | `plugin-sdk/channel-config-schema` | Типи схеми config для channel | - | `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації/валідації користувацьких команд Telegram із резервним варіантом для вбудованого контракту | + | `plugin-sdk/channel-config-schema` | Типи схеми конфігурації channel | + | `plugin-sdk/telegram-command-config` | Helpers нормалізації/валідації Telegram custom-command з fallback на bundled-contract | | `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` | | `plugin-sdk/channel-lifecycle` | `createAccountStatusSink` | - | `plugin-sdk/inbound-envelope` | Спільні допоміжні засоби маршрутизації inbound + побудови envelope | - | `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні засоби запису й диспетчеризації inbound | - | `plugin-sdk/messaging-targets` | Допоміжні засоби розбору/зіставлення цілей | - | `plugin-sdk/outbound-media` | Спільні допоміжні засоби завантаження outbound media | - | `plugin-sdk/outbound-runtime` | Допоміжні засоби outbound identity/send delegate | - | `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби життєвого циклу прив’язок потоків і адаптерів | - | `plugin-sdk/agent-media-payload` | Застарілий побудовник payload media агента | - | `plugin-sdk/conversation-runtime` | Допоміжні засоби прив’язки conversation/thread, pairing і configured-binding | - | `plugin-sdk/runtime-config-snapshot` | Допоміжний засіб знімка runtime config | - | `plugin-sdk/runtime-group-policy` | Допоміжні засоби визначення runtime group-policy | - | `plugin-sdk/channel-status` | Спільні допоміжні засоби знімка/підсумку статусу channel | - | `plugin-sdk/channel-config-primitives` | Вузькі примітиви схеми config для channel | - | `plugin-sdk/channel-config-writes` | Допоміжні засоби авторизації запису config для channel | + | `plugin-sdk/inbound-envelope` | Спільні helpers побудови inbound route + envelope | + | `plugin-sdk/inbound-reply-dispatch` | Спільні helpers запису й диспетчеризації inbound | + | `plugin-sdk/messaging-targets` | Helpers розбору/зіставлення targets | + | `plugin-sdk/outbound-media` | Спільні helpers завантаження outbound media | + | `plugin-sdk/outbound-runtime` | Helpers outbound identity/send delegate | + | `plugin-sdk/thread-bindings-runtime` | Helpers життєвого циклу й адаптера thread-binding | + | `plugin-sdk/agent-media-payload` | Legacy builder payload media агента | + | `plugin-sdk/conversation-runtime` | Helpers conversation/thread binding, pairing і configured-binding | + | `plugin-sdk/runtime-config-snapshot` | Helper snapshot конфігурації runtime | + | `plugin-sdk/runtime-group-policy` | Helpers визначення group-policy під час runtime | + | `plugin-sdk/channel-status` | Спільні helpers snapshot/summary status channel | + | `plugin-sdk/channel-config-primitives` | Вузькі primitives схеми конфігурації channel | + | `plugin-sdk/channel-config-writes` | Helpers авторизації запису конфігурації channel | | `plugin-sdk/channel-plugin-common` | Спільні prelude-експорти plugin channel | - | `plugin-sdk/allowlist-config-edit` | Допоміжні засоби редагування/читання config allowlist | - | `plugin-sdk/group-access` | Спільні допоміжні засоби рішень щодо group-access | - | `plugin-sdk/direct-dm` | Спільні допоміжні засоби auth/guard для прямих DM | - | `plugin-sdk/interactive-runtime` | Допоміжні засоби нормалізації/зведення payload інтерактивних відповідей | - | `plugin-sdk/channel-inbound` | Допоміжні засоби debounce, зіставлення згадок, envelope | - | `plugin-sdk/channel-send-result` | Типи результатів reply | + | `plugin-sdk/allowlist-config-edit` | Helpers редагування/читання конфігурації allowlist | + | `plugin-sdk/group-access` | Спільні helpers ухвалення рішень щодо доступу груп | + | `plugin-sdk/direct-dm` | Спільні helpers auth/guard для прямих DM | + | `plugin-sdk/interactive-runtime` | Helpers нормалізації/скорочення payload інтерактивних відповідей | + | `plugin-sdk/channel-inbound` | Helpers debounce, зіставлення згадок, envelope | + | `plugin-sdk/channel-send-result` | Типи результатів відповіді | | `plugin-sdk/channel-actions` | `createMessageToolButtonsSchema`, `createMessageToolCardSchema` | - | `plugin-sdk/channel-targets` | Допоміжні засоби розбору/зіставлення цілей | - | `plugin-sdk/channel-contract` | Типи контрактів channel | - | `plugin-sdk/channel-feedback` | Зв’язування feedback/reaction | + | `plugin-sdk/channel-targets` | Helpers розбору/зіставлення targets | + | `plugin-sdk/channel-contract` | Типи contract для channel | + | `plugin-sdk/channel-feedback` | Підключення feedback/reaction | | Subpath | Ключові експорти | | --- | --- | | `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` | - | `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локальних/self-hosted provider | - | `plugin-sdk/self-hosted-provider-setup` | Спеціалізовані допоміжні засоби налаштування self-hosted provider, сумісних з OpenAI | - | `plugin-sdk/provider-auth-runtime` | Допоміжні засоби визначення API-key під час виконання для plugins provider | - | `plugin-sdk/provider-auth-api-key` | Допоміжні засоби онбордингу/запису профілю API-key | - | `plugin-sdk/provider-auth-result` | Стандартний побудовник OAuth auth-result | - | `plugin-sdk/provider-auth-login` | Спільні допоміжні засоби інтерактивного входу для plugins provider | - | `plugin-sdk/provider-env-vars` | Допоміжні засоби пошуку env-var auth для provider | + | `plugin-sdk/provider-setup` | Добірні helpers налаштування локального/self-hosted provider | + | `plugin-sdk/self-hosted-provider-setup` | Фокусовані helpers налаштування self-hosted provider, сумісного з OpenAI | + | `plugin-sdk/provider-auth-runtime` | Helpers визначення API-key під час runtime для provider plugins | + | `plugin-sdk/provider-auth-api-key` | Helpers онбордингу API-key/запису профілю | + | `plugin-sdk/provider-auth-result` | Стандартний builder результату OAuth auth | + | `plugin-sdk/provider-auth-login` | Спільні helpers інтерактивного входу для provider plugins | + | `plugin-sdk/provider-env-vars` | Helpers пошуку env vars auth provider | | `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile` | - | `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні побудовники replay-policy, допоміжні засоби endpoint provider і допоміжні засоби нормалізації model-id, такі як `normalizeNativeXaiModelId` | + | `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні builders replay-policy, helpers endpoint provider і helpers нормалізації model-id, такі як `normalizeNativeXaiModelId` | | `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` | - | `plugin-sdk/provider-http` | Загальні допоміжні засоби HTTP/можливостей endpoint для provider | - | `plugin-sdk/provider-web-fetch` | Допоміжні засоби реєстрації/кешування provider web-fetch | - | `plugin-sdk/provider-web-search` | Допоміжні засоби реєстрації/кешування/config provider web-search | - | `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика, а також допоміжні засоби сумісності xAI, такі як `resolveXaiModelCompatPatch` / `applyXaiModelCompat` | + | `plugin-sdk/provider-http` | Загальні helpers HTTP/можливостей endpoint для provider | + | `plugin-sdk/provider-web-fetch` | Helpers реєстрації/кешування provider web-fetch | + | `plugin-sdk/provider-web-search` | Helpers реєстрації/кешування/конфігурації provider web-search | + | `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика, а також helpers сумісності xAI, такі як `resolveXaiModelCompatPatch` / `applyXaiModelCompat` | | `plugin-sdk/provider-usage` | `fetchClaudeUsage` та подібні | - | `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи обгорток stream і спільні допоміжні обгортки для Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot | - | `plugin-sdk/provider-onboard` | Допоміжні засоби патчу config для онбордингу | - | `plugin-sdk/global-singleton` | Допоміжні засоби singleton/map/cache локально для процесу | + | `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи stream wrapper та спільні helpers wrappers для Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot | + | `plugin-sdk/provider-onboard` | Helpers patch конфігурації онбордингу | + | `plugin-sdk/global-singleton` | Helpers локального для процесу singleton/map/cache | | Subpath | Ключові експорти | | --- | --- | - | `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні засоби реєстру команд, допоміжні засоби авторизації відправника | - | `plugin-sdk/approval-auth-runtime` | Допоміжні засоби визначення approver і auth дій у тому самому chat | - | `plugin-sdk/approval-client-runtime` | Допоміжні засоби профілю/фільтра native exec approval | - | `plugin-sdk/approval-delivery-runtime` | Адаптери можливостей/доставки native approval | - | `plugin-sdk/approval-native-runtime` | Допоміжні засоби цілі native approval + прив’язки облікового запису | - | `plugin-sdk/approval-reply-runtime` | Допоміжні засоби payload reply для exec/plugin approval | - | `plugin-sdk/command-auth-native` | Допоміжні засоби native auth команд + native session-target | - | `plugin-sdk/command-detection` | Спільні допоміжні засоби виявлення команд | - | `plugin-sdk/command-surface` | Допоміжні засоби нормалізації тіла команди та surface команди | + | `plugin-sdk/command-auth` | `resolveControlCommandGate`, helpers реєстру команд, helpers авторизації відправника | + | `plugin-sdk/approval-auth-runtime` | Helpers визначення approver і auth дій у тому самому чаті | + | `plugin-sdk/approval-client-runtime` | Helpers профілю/фільтра native exec approval | + | `plugin-sdk/approval-delivery-runtime` | Native adapters можливостей/доставки approval | + | `plugin-sdk/approval-native-runtime` | Helpers native approval target + account-binding | + | `plugin-sdk/approval-reply-runtime` | Helpers payload відповіді для exec/plugin approval | + | `plugin-sdk/command-auth-native` | Native auth команд + helpers native session-target | + | `plugin-sdk/command-detection` | Спільні helpers виявлення команд | + | `plugin-sdk/command-surface` | Нормалізація тіла команди й helpers command-surface | | `plugin-sdk/allow-from` | `formatAllowFromLowercase` | - | `plugin-sdk/security-runtime` | Спільні допоміжні засоби довіри, DM gating, зовнішнього вмісту та збирання секретів | - | `plugin-sdk/ssrf-policy` | Допоміжні засоби allowlist хостів і політики SSRF для приватних мереж | - | `plugin-sdk/ssrf-runtime` | Допоміжні засоби pinned-dispatcher, fetch із захистом від SSRF і політики SSRF | - | `plugin-sdk/secret-input` | Допоміжні засоби розбору секретного вводу | - | `plugin-sdk/webhook-ingress` | Допоміжні засоби запиту/цілі webhook | - | `plugin-sdk/webhook-request-guards` | Допоміжні засоби для розміру тіла запиту/таймауту | + | `plugin-sdk/security-runtime` | Спільні helpers довіри, DM gating, зовнішнього вмісту та збирання секретів | + | `plugin-sdk/ssrf-policy` | Helpers allowlist хостів і політики SSRF для приватних мереж | + | `plugin-sdk/ssrf-runtime` | Helpers pinned-dispatcher, fetch із захистом SSRF і політики SSRF | + | `plugin-sdk/secret-input` | Helpers розбору secret input | + | `plugin-sdk/webhook-ingress` | Helpers webhook request/target | + | `plugin-sdk/webhook-request-guards` | Helpers розміру body request/таймауту | - + | Subpath | Ключові експорти | | --- | --- | - | `plugin-sdk/runtime` | Широкі допоміжні засоби runtime/logging/backup/встановлення plugin | - | `plugin-sdk/runtime-env` | Вузькі допоміжні засоби env runtime, logger, timeout, retry і backoff | + | `plugin-sdk/runtime` | Широкі helpers runtime/logging/backup/install plugin | + | `plugin-sdk/runtime-env` | Вузькі helpers env runtime, logger, timeout, retry і backoff | | `plugin-sdk/runtime-store` | `createPluginRuntimeStore` | - | `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби plugin command/hook/http/interactive | - | `plugin-sdk/hook-runtime` | Спільні допоміжні засоби конвеєра webhook/internal hook | - | `plugin-sdk/lazy-runtime` | Допоміжні засоби lazy імпорту/прив’язки runtime, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` | - | `plugin-sdk/process-runtime` | Допоміжні засоби виконання процесів | - | `plugin-sdk/cli-runtime` | Допоміжні засоби форматування CLI, очікування та версій | - | `plugin-sdk/gateway-runtime` | Допоміжні засоби клієнта gateway і patch статусу channel | - | `plugin-sdk/config-runtime` | Допоміжні засоби завантаження/запису config | - | `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації назви/опису команд Telegram і перевірки дублікатів/конфліктів, навіть коли surface контракту вбудованого Telegram недоступна | - | `plugin-sdk/approval-runtime` | Допоміжні засоби exec/plugin approval, побудовники можливостей approval, допоміжні засоби auth/profile, native маршрутизації/runtime | - | `plugin-sdk/reply-runtime` | Спільні допоміжні засоби runtime inbound/reply, chunking, dispatch, heartbeat, планувальник reply | - | `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch/finalize для reply | - | `plugin-sdk/reply-history` | Спільні допоміжні засоби коротковіконної history reply, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` | + | `plugin-sdk/plugin-runtime` | Спільні helpers команд/hook/http/interactive для plugin | + | `plugin-sdk/hook-runtime` | Спільні helpers pipeline для webhook/internal hook | + | `plugin-sdk/lazy-runtime` | Helpers lazy import/binding runtime, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` | + | `plugin-sdk/process-runtime` | Helpers exec процесів | + | `plugin-sdk/cli-runtime` | Helpers форматування CLI, очікування та версії | + | `plugin-sdk/gateway-runtime` | Helpers клієнта gateway і patch status channel | + | `plugin-sdk/config-runtime` | Helpers завантаження/запису конфігурації | + | `plugin-sdk/telegram-command-config` | Нормалізація назв/описів команд Telegram і перевірки дублікатів/конфліктів, навіть коли поверхня bundled Telegram contract недоступна | + | `plugin-sdk/approval-runtime` | Helpers exec/plugin approval, builders можливостей approval, helpers auth/profile, helpers native routing/runtime | + | `plugin-sdk/reply-runtime` | Спільні helpers inbound/reply runtime, chunking, dispatch, heartbeat, планувальник reply | + | `plugin-sdk/reply-dispatch-runtime` | Вузькі helpers dispatch/finalize reply | + | `plugin-sdk/reply-history` | Спільні helpers короткого вікна history відповідей, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` | | `plugin-sdk/reply-reference` | `createReplyReferencePlanner` | - | `plugin-sdk/reply-chunking` | Вузькі допоміжні засоби chunking text/markdown | - | `plugin-sdk/session-store-runtime` | Допоміжні засоби шляху до session store + updated-at | - | `plugin-sdk/state-paths` | Допоміжні засоби шляхів до каталогів state/OAuth | - | `plugin-sdk/routing` | Допоміжні засоби route/session-key/прив’язки облікового запису, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` | - | `plugin-sdk/status-helpers` | Спільні допоміжні засоби підсумку статусу channel/account, значення за замовчуванням для runtime-state і допоміжні засоби метаданих issue | - | `plugin-sdk/target-resolver-runtime` | Спільні допоміжні засоби визначення цілей | - | `plugin-sdk/string-normalization-runtime` | Допоміжні засоби нормалізації slug/рядків | - | `plugin-sdk/request-url` | Витягує рядкові URL з вхідних даних, подібних до fetch/request | - | `plugin-sdk/run-command` | Виконавець команд із таймером і нормалізованими результатами stdout/stderr | - | `plugin-sdk/param-readers` | Загальні засоби читання параметрів tool/CLI | - | `plugin-sdk/tool-send` | Витягує канонічні поля цілі send з аргументів tool | - | `plugin-sdk/temp-path` | Спільні допоміжні засоби шляхів для тимчасових завантажень | - | `plugin-sdk/logging-core` | Допоміжні засоби logger підсистеми та редагування чутливих даних | - | `plugin-sdk/markdown-table-runtime` | Допоміжні засоби режиму таблиць Markdown | - | `plugin-sdk/json-store` | Невеликі допоміжні засоби читання/запису стану JSON | - | `plugin-sdk/file-lock` | Допоміжні засоби повторновхідного file-lock | - | `plugin-sdk/persistent-dedupe` | Допоміжні засоби dedupe cache із зберіганням на диску | - | `plugin-sdk/acp-runtime` | Допоміжні засоби runtime/session ACP і reply-dispatch | - | `plugin-sdk/agent-config-primitives` | Вузькі примітиви схеми config runtime агента | - | `plugin-sdk/boolean-param` | Гнучкий засіб читання булевих параметрів | - | `plugin-sdk/dangerous-name-runtime` | Допоміжні засоби визначення небезпечних назв | - | `plugin-sdk/device-bootstrap` | Допоміжні засоби початкового налаштування пристрою та токенів pairing | - | `plugin-sdk/extension-shared` | Спільні примітиви допоміжних засобів passive-channel і статусу | - | `plugin-sdk/models-provider-runtime` | Допоміжні засоби відповіді для команди `/models`/provider | - | `plugin-sdk/skill-commands-runtime` | Допоміжні засоби списку команд Skills | - | `plugin-sdk/native-command-registry` | Допоміжні засоби реєстру/build/serialize native команд | - | `plugin-sdk/provider-zai-endpoint` | Допоміжні засоби виявлення endpoint Z.AI | - | `plugin-sdk/infra-runtime` | Допоміжні засоби системних подій/heartbeat | - | `plugin-sdk/collection-runtime` | Невеликі допоміжні засоби обмеженого cache | - | `plugin-sdk/diagnostic-runtime` | Допоміжні засоби прапорців і подій діагностики | - | `plugin-sdk/error-runtime` | Граф помилок, форматування, спільні допоміжні засоби класифікації помилок, `isApprovalNotFoundError` | - | `plugin-sdk/fetch-runtime` | Обгорнуті допоміжні засоби fetch, proxy і pinned lookup | - | `plugin-sdk/host-runtime` | Допоміжні засоби нормалізації hostname і SCP host | - | `plugin-sdk/retry-runtime` | Допоміжні засоби config retry і виконавця retry | - | `plugin-sdk/agent-runtime` | Допоміжні засоби каталогу/ідентичності/workspace агента | - | `plugin-sdk/directory-runtime` | Запит/усунення дублікатів каталогів на основі config | + | `plugin-sdk/reply-chunking` | Вузькі helpers chunking тексту/markdown | + | `plugin-sdk/session-store-runtime` | Helpers шляху сховища session + updated-at | + | `plugin-sdk/state-paths` | Helpers шляхів каталогів state/OAuth | + | `plugin-sdk/routing` | Helpers route/session-key/account binding, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` | + | `plugin-sdk/status-helpers` | Спільні helpers summary status channel/account, типові значення runtime-state та helpers metadata проблем | + | `plugin-sdk/target-resolver-runtime` | Спільні helpers визначення targets | + | `plugin-sdk/string-normalization-runtime` | Helpers нормалізації slug/рядків | + | `plugin-sdk/request-url` | Витягування рядкових URL з input, подібних до fetch/request | + | `plugin-sdk/run-command` | Запуск команд із таймером та нормалізованими результатами stdout/stderr | + | `plugin-sdk/param-readers` | Загальні readers параметрів tool/CLI | + | `plugin-sdk/tool-send` | Витяг канонічних полів цілі відправлення з аргументів tool | + | `plugin-sdk/temp-path` | Спільні helpers шляхів тимчасового завантаження | + | `plugin-sdk/logging-core` | Helpers logger підсистеми та редагування чутливих даних | + | `plugin-sdk/markdown-table-runtime` | Helpers режиму таблиць Markdown | + | `plugin-sdk/json-store` | Невеликі helpers читання/запису JSON state | + | `plugin-sdk/file-lock` | Re-entrant helpers блокування файлів | + | `plugin-sdk/persistent-dedupe` | Helpers кешу dedupe збереженого на диску | + | `plugin-sdk/acp-runtime` | Helpers ACP runtime/session і reply-dispatch | + | `plugin-sdk/agent-config-primitives` | Вузькі primitives схеми конфігурації runtime агента | + | `plugin-sdk/boolean-param` | Гнучкий reader boolean-параметрів | + | `plugin-sdk/dangerous-name-runtime` | Helpers визначення зіставлень небезпечних імен | + | `plugin-sdk/device-bootstrap` | Helpers початкового налаштування пристрою й токенів pairing | + | `plugin-sdk/extension-shared` | Спільні primitives пасивного channel і helpers status | + | `plugin-sdk/models-provider-runtime` | Helpers відповіді команди `/models`/provider | + | `plugin-sdk/skill-commands-runtime` | Helpers виведення команд Skills | + | `plugin-sdk/native-command-registry` | Helpers реєстру/build/serialize native команд | + | `plugin-sdk/provider-zai-endpoint` | Helpers виявлення endpoint Z.AI | + | `plugin-sdk/infra-runtime` | Helpers системних подій/heartbeat | + | `plugin-sdk/collection-runtime` | Невеликі helpers bounded cache | + | `plugin-sdk/diagnostic-runtime` | Helpers діагностичних прапорців і подій | + | `plugin-sdk/error-runtime` | Граф помилок, форматування, helpers класифікації спільних помилок, `isApprovalNotFoundError` | + | `plugin-sdk/fetch-runtime` | Обгорнуті helpers fetch, proxy і pinned lookup | + | `plugin-sdk/host-runtime` | Helpers нормалізації hostname і SCP host | + | `plugin-sdk/retry-runtime` | Helpers конфігурації retry і запуску retry | + | `plugin-sdk/agent-runtime` | Helpers каталогів/ідентичності/workspace агента | + | `plugin-sdk/directory-runtime` | Запит/dedup каталогів на основі конфігурації | | `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` | | Subpath | Ключові експорти | | --- | --- | - | `plugin-sdk/media-runtime` | Спільні допоміжні засоби fetch/transform/store для media плюс побудовники payload media | - | `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби failover для media-generation, вибір кандидатів і повідомлення про відсутню модель | - | `plugin-sdk/media-understanding` | Типи provider для media understanding плюс експорти допоміжних засобів зображень/аудіо для provider | - | `plugin-sdk/text-runtime` | Спільні допоміжні засоби text/markdown/logging, такі як видалення видимого для assistant тексту, допоміжні засоби render/chunking/table для markdown, редагування чутливих даних, допоміжні засоби тегів директив і утиліти безпечного тексту | - | `plugin-sdk/text-chunking` | Допоміжний засіб chunking для outbound text | - | `plugin-sdk/speech` | Типи speech provider плюс експорти директив, реєстру й валідації для provider | - | `plugin-sdk/speech-core` | Спільні типи speech provider, реєстр, директиви та допоміжні засоби нормалізації | - | `plugin-sdk/realtime-transcription` | Типи provider для realtime transcription і допоміжні засоби реєстру | - | `plugin-sdk/realtime-voice` | Типи provider для realtime voice і допоміжні засоби реєстру | - | `plugin-sdk/image-generation` | Типи provider для image generation | - | `plugin-sdk/image-generation-core` | Спільні типи image-generation, failover, auth і допоміжні засоби реєстру | - | `plugin-sdk/music-generation` | Типи provider/request/result для music generation | - | `plugin-sdk/music-generation-core` | Спільні типи music-generation, допоміжні засоби failover, пошуку provider і розбору model-ref | - | `plugin-sdk/video-generation` | Типи provider/request/result для video generation | - | `plugin-sdk/video-generation-core` | Спільні типи video-generation, допоміжні засоби failover, пошуку provider і розбору model-ref | - | `plugin-sdk/webhook-targets` | Допоміжні засоби реєстру цілей webhook і встановлення route | - | `plugin-sdk/webhook-path` | Допоміжні засоби нормалізації шляху webhook | - | `plugin-sdk/web-media` | Спільні допоміжні засоби завантаження віддалених/локальних media | - | `plugin-sdk/zod` | Повторно експортований `zod` для споживачів plugin SDK | + | `plugin-sdk/media-runtime` | Спільні helpers fetch/transform/store media, а також builders payload media | + | `plugin-sdk/media-generation-runtime` | Спільні helpers failover генерації media, вибір candidate і повідомлення про відсутню model | + | `plugin-sdk/media-understanding` | Типи provider media understanding плюс експорти helpers для image/audio, орієнтовані на provider | + | `plugin-sdk/text-runtime` | Спільні helpers тексту/markdown/logging, такі як видалення видимого для асистента тексту, helpers render/chunking/table Markdown, helpers редагування, helpers тегів директив і utilities безпечного тексту | + | `plugin-sdk/text-chunking` | Helper chunking outbound text | + | `plugin-sdk/speech` | Типи speech provider плюс helpers для provider, орієнтовані на directives, registry і validation | + | `plugin-sdk/speech-core` | Спільні типи speech provider, registry, directive і helpers нормалізації | + | `plugin-sdk/realtime-transcription` | Типи provider realtime transcription і helpers registry | + | `plugin-sdk/realtime-voice` | Типи provider realtime voice і helpers registry | + | `plugin-sdk/image-generation` | Типи provider image generation | + | `plugin-sdk/image-generation-core` | Спільні типи image-generation, helpers failover, auth і registry | + | `plugin-sdk/music-generation` | Типи provider/request/result для генерації музики | + | `plugin-sdk/music-generation-core` | Спільні типи music-generation, helpers failover, пошук provider і розбір model-ref | + | `plugin-sdk/video-generation` | Типи provider/request/result для генерації відео | + | `plugin-sdk/video-generation-core` | Спільні типи video-generation, helpers failover, пошук provider і розбір model-ref | + | `plugin-sdk/webhook-targets` | Реєстр targets webhook і helpers встановлення route | + | `plugin-sdk/webhook-path` | Helpers нормалізації шляхів webhook | + | `plugin-sdk/web-media` | Спільні helpers завантаження віддалених/локальних media | + | `plugin-sdk/zod` | Повторно експортований `zod` для користувачів plugin SDK | | `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` | | Subpath | Ключові експорти | | --- | --- | - | `plugin-sdk/memory-core` | Поверхня допоміжних засобів вбудованого memory-core для manager/config/file/CLI helpers | - | `plugin-sdk/memory-core-engine-runtime` | Runtime facade індексу/пошуку memory | - | `plugin-sdk/memory-core-host-engine-foundation` | Експорти foundation engine для хоста memory | - | `plugin-sdk/memory-core-host-engine-embeddings` | Експорти embedding engine для хоста memory | - | `plugin-sdk/memory-core-host-engine-qmd` | Експорти QMD engine для хоста memory | - | `plugin-sdk/memory-core-host-engine-storage` | Експорти storage engine для хоста memory | - | `plugin-sdk/memory-core-host-multimodal` | Допоміжні засоби multimodal для хоста memory | - | `plugin-sdk/memory-core-host-query` | Допоміжні засоби query для хоста memory | - | `plugin-sdk/memory-core-host-secret` | Допоміжні засоби secret для хоста memory | - | `plugin-sdk/memory-core-host-status` | Допоміжні засоби status для хоста memory | - | `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні засоби CLI runtime для хоста memory | - | `plugin-sdk/memory-core-host-runtime-core` | Допоміжні засоби core runtime для хоста memory | - | `plugin-sdk/memory-core-host-runtime-files` | Допоміжні засоби file/runtime для хоста memory | - | `plugin-sdk/memory-lancedb` | Поверхня допоміжних засобів вбудованого memory-lancedb | + | `plugin-sdk/memory-core` | Поверхня bundled helper memory-core для helpers manager/config/file/CLI | + | `plugin-sdk/memory-core-engine-runtime` | Runtime facade індексації/пошуку пам’яті | + | `plugin-sdk/memory-core-host-engine-foundation` | Експорти foundation engine для memory host | + | `plugin-sdk/memory-core-host-engine-embeddings` | Експорти embedding engine для memory host | + | `plugin-sdk/memory-core-host-engine-qmd` | Експорти QMD engine для memory host | + | `plugin-sdk/memory-core-host-engine-storage` | Експорти storage engine для memory host | + | `plugin-sdk/memory-core-host-multimodal` | Multimodal helpers для memory host | + | `plugin-sdk/memory-core-host-query` | Helpers query для memory host | + | `plugin-sdk/memory-core-host-secret` | Helpers secret для memory host | + | `plugin-sdk/memory-core-host-events` | Helpers журналу подій для memory host | + | `plugin-sdk/memory-core-host-status` | Helpers status для memory host | + | `plugin-sdk/memory-core-host-runtime-cli` | Helpers CLI runtime для memory host | + | `plugin-sdk/memory-core-host-runtime-core` | Helpers core runtime для memory host | + | `plugin-sdk/memory-core-host-runtime-files` | Helpers files/runtime для memory host | + | `plugin-sdk/memory-host-core` | Vendor-neutral псевдонім для helpers core runtime memory host | + | `plugin-sdk/memory-host-events` | Vendor-neutral псевдонім для helpers журналу подій memory host | + | `plugin-sdk/memory-host-files` | Vendor-neutral псевдонім для helpers file/runtime memory host | + | `plugin-sdk/memory-host-markdown` | Спільні helpers managed-markdown для plugins, суміжних із memory | + | `plugin-sdk/memory-host-search` | Active memory runtime facade для доступу до search-manager | + | `plugin-sdk/memory-host-status` | Vendor-neutral псевдонім для helpers status memory host | + | `plugin-sdk/memory-lancedb` | Поверхня bundled helper memory-lancedb | - + | Family | Поточні підшляхи | Призначення | | --- | --- | --- | - | Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Допоміжні засоби підтримки вбудованого browser plugin (`browser-support` залишається barrel-файлом сумісності) | - | Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | Поверхня допоміжних засобів/runtime для вбудованого Matrix | - | Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня допоміжних засобів/runtime для вбудованого LINE | - | IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня допоміжних засобів для вбудованого IRC | - | Специфічні для channel helpers | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | Шви сумісності/допоміжні шви для вбудованих channels | - | Специфічні для auth/plugin helpers | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Допоміжні шви для вбудованих features/plugins; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` | + | Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Helpers підтримки bundled browser plugin (`browser-support` залишається compatibility barrel) | + | Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | Поверхня helper/runtime для bundled Matrix | + | Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня helper/runtime для bundled LINE | + | IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня helper для bundled IRC | + | Специфічні для channel helpers | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | Bundled seams сумісності/helper для channel | + | Специфічні для auth/plugin helpers | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Bundled helper seams для функцій/plugins; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` | ## API реєстрації -Зворотний виклик `register(api)` отримує об’єкт `OpenClawPluginApi` з такими +Callback `register(api)` отримує об’єкт `OpenClawPluginApi` з такими методами: ### Реєстрація можливостей -| Method | Що реєструє | -| ------------------------------------------------ | ------------------------------ | -| `api.registerProvider(...)` | Текстовий inference (LLM) | -| `api.registerChannel(...)` | Канал повідомлень | -| `api.registerSpeechProvider(...)` | Синтез text-to-speech / STT | -| `api.registerRealtimeTranscriptionProvider(...)` | Потокова транскрипція realtime | -| `api.registerRealtimeVoiceProvider(...)` | Дуплексні сесії voice realtime | -| `api.registerMediaUnderstandingProvider(...)` | Аналіз зображень/аудіо/відео | -| `api.registerImageGenerationProvider(...)` | Генерація зображень | -| `api.registerMusicGenerationProvider(...)` | Генерація музики | -| `api.registerVideoGenerationProvider(...)` | Генерація відео | -| `api.registerWebFetchProvider(...)` | Provider для web fetch / scrape | -| `api.registerWebSearchProvider(...)` | Вебпошук | +| Method | Що він реєструє | +| ------------------------------------------------ | -------------------------------- | +| `api.registerProvider(...)` | Текстовий inference (LLM) | +| `api.registerChannel(...)` | Канал обміну повідомленнями | +| `api.registerSpeechProvider(...)` | Text-to-speech / STT synthesis | +| `api.registerRealtimeTranscriptionProvider(...)` | Потокова транскрипція realtime | +| `api.registerRealtimeVoiceProvider(...)` | Двоспрямовані voice-сесії realtime | +| `api.registerMediaUnderstandingProvider(...)` | Аналіз зображень/аудіо/відео | +| `api.registerImageGenerationProvider(...)` | Генерація зображень | +| `api.registerMusicGenerationProvider(...)` | Генерація музики | +| `api.registerVideoGenerationProvider(...)` | Генерація відео | +| `api.registerWebFetchProvider(...)` | Provider для web fetch / scrape | +| `api.registerWebSearchProvider(...)` | Вебпошук | ### Tools і команди -| Method | Що реєструє | -| ------------------------------- | --------------------------------------------- | -| `api.registerTool(tool, opts?)` | Tool агента (обов’язковий або `{ optional: true }`) | -| `api.registerCommand(def)` | Користувацька команда (обходить LLM) | +| Method | Що він реєструє | +| ------------------------------- | ---------------------------------------------- | +| `api.registerTool(tool, opts?)` | Інструмент агента (обов’язковий або `{ optional: true }`) | +| `api.registerCommand(def)` | Користувацьку команду (обходить LLM) | ### Інфраструктура -| Method | Що реєструє | -| ---------------------------------------------- | -------------------- | -| `api.registerHook(events, handler, opts?)` | Хук події | -| `api.registerHttpRoute(params)` | HTTP endpoint gateway | -| `api.registerGatewayMethod(name, handler)` | RPC-метод gateway | -| `api.registerCli(registrar, opts?)` | Підкоманда CLI | -| `api.registerService(service)` | Фонова служба | -| `api.registerInteractiveHandler(registration)` | Інтерактивний handler | +| Method | Що він реєструє | +| ---------------------------------------------- | ---------------------------------- | +| `api.registerHook(events, handler, opts?)` | Event hook | +| `api.registerHttpRoute(params)` | HTTP endpoint gateway | +| `api.registerGatewayMethod(name, handler)` | RPC-метод gateway | +| `api.registerCli(registrar, opts?)` | Підкоманду CLI | +| `api.registerService(service)` | Фоновий service | +| `api.registerInteractiveHandler(registration)` | Інтерактивний handler | +| `api.registerMemoryPromptSupplement(builder)` | Додаткову секцію prompt, суміжну з memory | +| `api.registerMemoryCorpusSupplement(adapter)` | Додатковий corpus пошуку/читання memory | -Зарезервовані простори імен адміністрування core (`config.*`, `exec.approvals.*`, `wizard.*`, +Зарезервовані простори імен core admin (`config.*`, `exec.approvals.*`, `wizard.*`, `update.*`) завжди залишаються `operator.admin`, навіть якщо plugin намагається призначити вужчу область gateway method. Для -методів, що належать plugin, віддавайте перевагу специфічним для plugin префіксам. +методів, що належать plugin, надавайте перевагу префіксам, специфічним для plugin. ### Метадані реєстрації CLI -`api.registerCli(registrar, opts?)` приймає два типи метаданих верхнього рівня: +`api.registerCli(registrar, opts?)` приймає два види метаданих верхнього рівня: -- `commands`: явні корені команд, що належать registrar -- `descriptors`: дескриптори команд на етапі розбору, що використовуються для довідки кореневого CLI, - маршрутизації та лінивої реєстрації plugin CLI +- `commands`: явні корені команд, якими володіє registrar +- `descriptors`: дескриптори команд на етапі парсингу, які використовуються для кореневої довідки CLI, + маршрутизації та лінивої реєстрації CLI plugin -Якщо ви хочете, щоб команда plugin залишалася ліниво завантажуваною в звичайному шляху кореневого CLI, +Якщо ви хочете, щоб команда plugin залишалася ліниво завантажуваною в звичайному кореневому шляху CLI, надайте `descriptors`, які охоплюють кожен корінь команди верхнього рівня, що експонується цим registrar. @@ -348,7 +357,7 @@ api.registerCli( descriptors: [ { name: "matrix", - description: "Керування обліковими записами Matrix, верифікацією, пристроями та станом профілю", + description: "Керуйте акаунтами Matrix, верифікацією, пристроями та станом профілю", hasSubcommands: true, }, ], @@ -356,67 +365,67 @@ api.registerCli( ); ``` -Використовуйте лише `commands`, тільки якщо вам не потрібна лінива реєстрація кореневого CLI. -Цей шлях сумісності з eager-завантаженням залишається підтримуваним, але він не встановлює -заповнювачі на основі descriptor для лінивого завантаження під час розбору. +Використовуйте лише `commands`, тільки якщо вам не потрібна лінива коренева реєстрація CLI. +Цей eager-шлях сумісності й надалі підтримується, але він не встановлює +placeholders на основі descriptors для лінивого завантаження під час парсингу. ### Ексклюзивні слоти -| Method | Що реєструє | -| ------------------------------------------ | ----------------------------------- | -| `api.registerContextEngine(id, factory)` | Context engine (лише один активний одночасно) | -| `api.registerMemoryPromptSection(builder)` | Побудовник секції prompt для memory | -| `api.registerMemoryFlushPlan(resolver)` | Resolver плану flush для memory | -| `api.registerMemoryRuntime(runtime)` | Адаптер runtime для memory | +| Method | Що він реєструє | +| ------------------------------------------ | ---------------------------------- | +| `api.registerContextEngine(id, factory)` | Context engine (одночасно активний лише один) | +| `api.registerMemoryPromptSection(builder)` | Builder секції prompt для memory | +| `api.registerMemoryFlushPlan(resolver)` | Resolver плану скидання memory | +| `api.registerMemoryRuntime(runtime)` | Адаптер runtime для memory | ### Адаптери embedding для memory -| Method | Що реєструє | -| ---------------------------------------------- | ----------------------------------------------- | -| `api.registerMemoryEmbeddingProvider(adapter)` | Адаптер embedding для memory для активного plugin | +| Method | Що він реєструє | +| ---------------------------------------------- | --------------------------------------------------- | +| `api.registerMemoryEmbeddingProvider(adapter)` | Адаптер embedding для memory для активного plugin | - `registerMemoryPromptSection`, `registerMemoryFlushPlan` і `registerMemoryRuntime` є ексклюзивними для memory plugins. -- `registerMemoryEmbeddingProvider` дає активному memory plugin змогу зареєструвати один - або кілька id адаптерів embedding (наприклад `openai`, `gemini` або користувацький +- `registerMemoryEmbeddingProvider` дає активному memory plugin змогу реєструвати + один або кілька id адаптерів embedding (наприклад `openai`, `gemini` або custom id, визначений plugin). -- Конфігурація користувача, така як `agents.defaults.memorySearch.provider` і - `agents.defaults.memorySearch.fallback`, визначається відносно зареєстрованих id - цих адаптерів. +- Конфігурація користувача, як-от `agents.defaults.memorySearch.provider` і + `agents.defaults.memorySearch.fallback`, визначається відносно цих зареєстрованих + id адаптерів. ### Події та життєвий цикл -| Method | Що робить | -| -------------------------------------------- | ---------------------------- | -| `api.on(hookName, handler, opts?)` | Типізований хук життєвого циклу | -| `api.onConversationBindingResolved(handler)` | Зворотний виклик прив’язки conversation | +| Method | Що він робить | +| -------------------------------------------- | -------------------------- | +| `api.on(hookName, handler, opts?)` | Типізований lifecycle hook | +| `api.onConversationBindingResolved(handler)` | Callback binding conversation | -### Семантика рішень хуків +### Семантика рішень hook -- `before_tool_call`: повернення `{ block: true }` є термінальним. Щойно будь-який handler встановлює його, handlers із нижчим пріоритетом пропускаються. -- `before_tool_call`: повернення `{ block: false }` вважається відсутністю рішення (так само, як і пропуск `block`), а не перевизначенням. -- `before_install`: повернення `{ block: true }` є термінальним. Щойно будь-який handler встановлює його, handlers із нижчим пріоритетом пропускаються. -- `before_install`: повернення `{ block: false }` вважається відсутністю рішення (так само, як і пропуск `block`), а не перевизначенням. -- `reply_dispatch`: повернення `{ handled: true, ... }` є термінальним. Щойно будь-який handler перехоплює dispatch, handlers із нижчим пріоритетом і типовий шлях dispatch моделі пропускаються. -- `message_sending`: повернення `{ cancel: true }` є термінальним. Щойно будь-який handler встановлює його, handlers із нижчим пріоритетом пропускаються. -- `message_sending`: повернення `{ cancel: false }` вважається відсутністю рішення (так само, як і пропуск `cancel`), а не перевизначенням. +- `before_tool_call`: повернення `{ block: true }` є термінальним. Щойно будь-який handler встановлює це значення, handlers з нижчим пріоритетом пропускаються. +- `before_tool_call`: повернення `{ block: false }` трактується як відсутність рішення (так само, як пропуск `block`), а не як перевизначення. +- `before_install`: повернення `{ block: true }` є термінальним. Щойно будь-який handler встановлює це значення, handlers з нижчим пріоритетом пропускаються. +- `before_install`: повернення `{ block: false }` трактується як відсутність рішення (так само, як пропуск `block`), а не як перевизначення. +- `reply_dispatch`: повернення `{ handled: true, ... }` є термінальним. Щойно будь-який handler бере dispatch на себе, handlers з нижчим пріоритетом і стандартний шлях dispatch моделі пропускаються. +- `message_sending`: повернення `{ cancel: true }` є термінальним. Щойно будь-який handler встановлює це значення, handlers з нижчим пріоритетом пропускаються. +- `message_sending`: повернення `{ cancel: false }` трактується як відсутність рішення (так само, як пропуск `cancel`), а не як перевизначення. ### Поля об’єкта API -| Field | Type | Опис | -| ------------------------ | ------------------------- | -------------------------------------------------------------------------------------------- | -| `api.id` | `string` | Ідентифікатор plugin | -| `api.name` | `string` | Відображувана назва | -| `api.version` | `string?` | Версія plugin (необов’язково) | -| `api.description` | `string?` | Опис plugin (необов’язково) | -| `api.source` | `string` | Шлях до джерела plugin | -| `api.rootDir` | `string?` | Кореневий каталог plugin (необов’язково) | -| `api.config` | `OpenClawConfig` | Поточний знімок config (активний внутрішньопам’ятний runtime-знімок, коли доступний) | -| `api.pluginConfig` | `Record` | Специфічна для plugin config із `plugins.entries..config` | -| `api.runtime` | `PluginRuntime` | [Допоміжні засоби runtime](/uk/plugins/sdk-runtime) | -| `api.logger` | `PluginLogger` | Logger з областю дії (`debug`, `info`, `warn`, `error`) | -| `api.registrationMode` | `PluginRegistrationMode` | Поточний режим завантаження; `"setup-runtime"` — це легке вікно запуску/налаштування до повного entry | -| `api.resolvePath(input)` | `(string) => string` | Визначення шляху відносно кореня plugin | +| Field | Type | Description | +| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------- | +| `api.id` | `string` | Id plugin | +| `api.name` | `string` | Відображувана назва | +| `api.version` | `string?` | Версія plugin (необов’язково) | +| `api.description` | `string?` | Опис plugin (необов’язково) | +| `api.source` | `string` | Шлях до джерела plugin | +| `api.rootDir` | `string?` | Кореневий каталог plugin (необов’язково) | +| `api.config` | `OpenClawConfig` | Поточний snapshot конфігурації (активний snapshot runtime у пам’яті, коли доступний) | +| `api.pluginConfig` | `Record` | Специфічна для plugin конфігурація з `plugins.entries..config` | +| `api.runtime` | `PluginRuntime` | [Helpers runtime](/uk/plugins/sdk-runtime) | +| `api.logger` | `PluginLogger` | Logger з областю видимості (`debug`, `info`, `warn`, `error`) | +| `api.registrationMode` | `PluginRegistrationMode` | Поточний режим завантаження; `"setup-runtime"` — це полегшене вікно запуску/налаштування до повного entry | +| `api.resolvePath(input)` | `(string) => string` | Визначення шляху відносно кореня plugin | ## Угода щодо внутрішніх модулів @@ -425,48 +434,48 @@ api.registerCli( ``` my-plugin/ api.ts # Публічні експорти для зовнішніх споживачів - runtime-api.ts # Лише внутрішні runtime-експорти + runtime-api.ts # Експорти runtime лише для внутрішнього використання index.ts # Точка входу plugin setup-entry.ts # Полегшений entry лише для налаштування (необов’язково) ``` Ніколи не імпортуйте власний plugin через `openclaw/plugin-sdk/` - у production-коді. Спрямовуйте внутрішні імпорти через `./api.ts` або - `./runtime-api.ts`. Шлях SDK є лише зовнішнім контрактом. + з production-коду. Спрямовуйте внутрішні імпорти через `./api.ts` або + `./runtime-api.ts`. Шлях SDK — це лише зовнішній contract. -Поверхні публічних API вбудованих plugins, завантажені через facade (`api.ts`, `runtime-api.ts`, -`index.ts`, `setup-entry.ts` та подібні публічні entry-файли), тепер віддають перевагу -активному знімку runtime config, коли OpenClaw уже запущено. Якщо знімок runtime -ще не існує, вони повертаються до визначеного файлу config на диску. +Публічні поверхні bundled plugin, завантажувані через facade (`api.ts`, `runtime-api.ts`, +`index.ts`, `setup-entry.ts` та подібні публічні entry-файли), тепер надають перевагу +активному snapshot конфігурації runtime, коли OpenClaw уже запущений. Якщо snapshot runtime +ще не існує, вони повертаються до визначеного файла конфігурації на диску. -Plugins provider також можуть експонувати вузький локальний barrel-файл контракту plugin, коли -допоміжний засіб навмисно є специфічним для provider і ще не належить до загального підшляху SDK. -Поточний вбудований приклад: provider Anthropic зберігає свої допоміжні засоби Claude -stream у власному публічному шві `api.ts` / `contract-api.ts`, замість того щоб -просувати логіку Anthropic beta-header і `service_tier` до загального -контракту `plugin-sdk/*`. +Provider plugins також можуть експортувати вузький локальний для plugin barrel контракту, коли +helper є навмисно специфічним для provider і поки що не належить до загального +підшляху SDK. Поточний bundled приклад: provider Anthropic зберігає свої Claude +stream helpers у власному публічному seam `api.ts` / `contract-api.ts` замість +просування логіки Anthropic beta-header і `service_tier` у загальний +contract `plugin-sdk/*`. -Інші поточні вбудовані приклади: +Інші поточні bundled приклади: -- `@openclaw/openai-provider`: `api.ts` експортує побудовники provider, - допоміжні засоби моделей за замовчуванням і побудовники provider realtime -- `@openclaw/openrouter-provider`: `api.ts` експортує побудовник provider, а також - допоміжні засоби онбордингу/config +- `@openclaw/openai-provider`: `api.ts` експортує builders provider, + helpers моделей за замовчуванням і builders realtime provider +- `@openclaw/openrouter-provider`: `api.ts` експортує builder provider плюс + helpers онбордингу/конфігурації Production-код extension також має уникати імпортів `openclaw/plugin-sdk/`. - Якщо допоміжний засіб справді є спільним, перемістіть його до нейтрального підшляху SDK, - такого як `openclaw/plugin-sdk/speech`, `.../provider-model-shared` або іншої - поверхні, орієнтованої на можливості, замість того щоб жорстко зв’язувати два plugins між собою. + Якщо helper справді є спільним, перенесіть його до нейтрального підшляху SDK, + наприклад `openclaw/plugin-sdk/speech`, `.../provider-model-shared` або іншої + поверхні, орієнтованої на можливості, замість жорсткого зв’язування двох plugins. -## Пов’язане +## Пов’язані сторінки -- [Точки входу](/uk/plugins/sdk-entrypoints) — параметри `definePluginEntry` і `defineChannelPluginEntry` -- [Допоміжні засоби runtime](/uk/plugins/sdk-runtime) — повний довідник простору імен `api.runtime` -- [Налаштування і config](/uk/plugins/sdk-setup) — пакування, маніфести, схеми config -- [Тестування](/uk/plugins/sdk-testing) — утиліти тестування та правила lint -- [Міграція SDK](/uk/plugins/sdk-migration) — міграція із застарілих поверхонь -- [Внутрішня будова plugin](/uk/plugins/architecture) — глибока архітектура та модель можливостей +- [Entry Points](/uk/plugins/sdk-entrypoints) — параметри `definePluginEntry` і `defineChannelPluginEntry` +- [Runtime Helpers](/uk/plugins/sdk-runtime) — повний довідник простору імен `api.runtime` +- [Setup and Config](/uk/plugins/sdk-setup) — пакування, маніфести, схеми конфігурації +- [Testing](/uk/plugins/sdk-testing) — утиліти тестування та правила lint +- [SDK Migration](/uk/plugins/sdk-migration) — міграція із застарілих поверхонь +- [Plugin Internals](/uk/plugins/architecture) — глибока архітектура та модель можливостей