chore(i18n): refresh uk translations
This commit is contained in:
parent
947eca7f8f
commit
c762f7d780
@ -2,332 +2,334 @@
|
||||
read_when:
|
||||
- Вибір правильного підшляху plugin-sdk для імпорту Plugin
|
||||
- Аудит підшляхів bundled-plugin і допоміжних поверхонь
|
||||
summary: 'Каталог підшляхів Plugin SDK: які імпорти де знаходяться, згруповано за областями'
|
||||
summary: 'Каталог підшляхів Plugin SDK: які імпорти де розміщені, згруповані за областями'
|
||||
title: Підшляхи Plugin SDK
|
||||
x-i18n:
|
||||
generated_at: "2026-04-28T02:31:40Z"
|
||||
generated_at: "2026-04-28T02:44:53Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: ff81bf9044554635d0b139da2dc0dd6b5e25912ccda1e35fd3c6739d35046369
|
||||
source_hash: 0c4eab29c94c207a616599216655448dd33ab9e07be1a5391cd5fec63c07d93d
|
||||
source_path: plugins/sdk-subpaths.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
Plugin SDK представлено як набір вузьких підшляхів у `openclaw/plugin-sdk/`.
|
||||
На цій сторінці наведено каталог найуживаніших підшляхів, згрупованих за призначенням. Згенерований
|
||||
повний список із понад 200 підшляхів міститься в `scripts/lib/plugin-sdk-entrypoints.json`;
|
||||
зарезервовані допоміжні підшляхи bundled-plugin також з’являються там, але є
|
||||
деталями реалізації, якщо лише сторінка документації явно не просуває їх.
|
||||
Plugin SDK надається як набір вузьких підшляхів у `openclaw/plugin-sdk/`.
|
||||
На цій сторінці зібрано найуживаніші підшляхи, згруповані за призначенням. Згенерований
|
||||
повний список із понад 200 підшляхів розміщено в `scripts/lib/plugin-sdk-entrypoints.json`;
|
||||
зарезервовані допоміжні підшляхи bundled-plugin також там наведені, але є деталлю
|
||||
реалізації, якщо лише сторінка документації явно не просуває їх.
|
||||
|
||||
Посібник з розробки Plugin див. у [Огляд Plugin SDK](/uk/plugins/sdk-overview).
|
||||
Посібник з авторства Plugin див. у [Огляд Plugin SDK](/uk/plugins/sdk-overview).
|
||||
|
||||
## Точка входу Plugin
|
||||
|
||||
| Підшлях | Ключові експорти |
|
||||
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
|
||||
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
|
||||
| `plugin-sdk/config-schema` | `OpenClawSchema` |
|
||||
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
|
||||
| `plugin-sdk/testing` | Широкий сумісний barrel для застарілих тестів Plugin; для нових тестів розширень віддавайте перевагу спеціалізованим тестовим підшляхам |
|
||||
| `plugin-sdk/plugin-test-api` | Мінімальний конструктор моків `OpenClawPluginApi` для прямих unit-тестів реєстрації Plugin |
|
||||
| `plugin-sdk/channel-test-helpers` | Життєвий цикл облікового запису каналу, каталог, send-config, мок runtime, hook, bundled channel entry, часова позначка envelope, відповідь pairing та допоміжні засоби тестування загального контракту каналу |
|
||||
| `plugin-sdk/channel-target-testing` | Спільний набір тестів для випадків помилок під час визначення цілі каналу |
|
||||
| `plugin-sdk/plugin-test-contracts` | Допоміжні засоби контрактів для реєстрації Plugin, package manifest, публічного артефакту, runtime API, побічних ефектів імпорту та прямого імпорту |
|
||||
| `plugin-sdk/plugin-test-runtime` | Фікстури runtime Plugin, registry, реєстрації provider, setup wizard і runtime TaskFlow для тестів |
|
||||
| `plugin-sdk/provider-test-contracts` | Допоміжні засоби контрактів для runtime provider, auth, discovery, onboard, catalog, можливостей медіа, політики replay, realtime STT live-audio, web-search/fetch і wizard |
|
||||
| `plugin-sdk/provider-http-test-mocks` | Opt-in моки HTTP/auth для Vitest у тестах provider, що використовують `plugin-sdk/provider-http` |
|
||||
| `plugin-sdk/test-env` | Фікстури тестового середовища, fetch/network, тимчасового HTTP-сервера, вхідного запиту, live-test, тимчасової файлової системи та керування часом |
|
||||
| `plugin-sdk/test-fixtures` | Загальні тестові фікстури для CLI, sandbox, skill, agent-message, system-event, перезавантаження модуля, шляху bundled plugin, terminal, chunking, auth-token і typed-case |
|
||||
| `plugin-sdk/test-node-mocks` | Спеціалізовані допоміжні засоби моків вбудованих модулів Node для використання всередині фабрик Vitest `vi.mock("node:*")` |
|
||||
| `plugin-sdk/migration` | Допоміжні засоби елементів migration provider, такі як `createMigrationItem`, константи причин, маркери статусу елемента, допоміжні засоби редагування та `summarizeMigrationItems` |
|
||||
| `plugin-sdk/migration-runtime` | Допоміжні засоби runtime migration, такі як `copyMigrationFileItem` і `writeMigrationReport` |
|
||||
| Subpath | Ключові експорти |
|
||||
| ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
|
||||
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
|
||||
| `plugin-sdk/config-schema` | `OpenClawSchema` |
|
||||
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
|
||||
| `plugin-sdk/testing` | Широкий сумісний barrel для застарілих тестів Plugin; для нових тестів extension віддавайте перевагу цільовим тестовим підшляхам |
|
||||
| `plugin-sdk/plugin-test-api` | Мінімальний конструктор мока `OpenClawPluginApi` для прямих модульних тестів реєстрації Plugin |
|
||||
| `plugin-sdk/agent-runtime-test-contracts` | Фікстури контрактів нативного адаптера agent-runtime для профілів автентифікації, пригнічення доставки, класифікації fallback, хуків інструментів, накладок prompt, схем і відновлення транскрипту |
|
||||
| `plugin-sdk/channel-test-helpers` | Допоміжні засоби для життєвого циклу облікового запису каналу, каталогу, send-config, мока runtime, hook, bundled channel entry, часової мітки envelope, відповіді pairing і тестів загального контракту каналу |
|
||||
| `plugin-sdk/channel-target-testing` | Спільний набір тестів випадків помилок розв’язання цілей каналу |
|
||||
| `plugin-sdk/plugin-test-contracts` | Допоміжні засоби контрактів реєстрації Plugin, маніфесту пакета, публічного артефакту, runtime API, побічних ефектів імпорту та прямого імпорту |
|
||||
| `plugin-sdk/plugin-test-runtime` | Фікстури runtime Plugin, реєстру, реєстрації provider, майстра налаштування та runtime TaskFlow для тестів |
|
||||
| `plugin-sdk/provider-test-contracts` | Допоміжні засоби контрактів runtime provider, автентифікації, виявлення, onboard, каталогу, медіаможливостей, політики replay, realtime STT live-audio, web-search/fetch і майстра |
|
||||
| `plugin-sdk/provider-http-test-mocks` | Opt-in моки HTTP/auth для Vitest для тестів provider, які перевіряють `plugin-sdk/provider-http` |
|
||||
| `plugin-sdk/test-env` | Фікстури тестового середовища, fetch/network, disposable HTTP server, вхідного запиту, live-test, тимчасової файлової системи та керування часом |
|
||||
| `plugin-sdk/test-fixtures` | Загальні тестові фікстури для CLI, sandbox, skill, agent-message, system-event, перезавантаження модуля, шляху bundled plugin, terminal, chunking, auth-token і typed-case |
|
||||
| `plugin-sdk/test-node-mocks` | Цільові допоміжні засоби моків вбудованих модулів Node для використання всередині фабрик Vitest `vi.mock("node:*")` |
|
||||
| `plugin-sdk/migration` | Допоміжні засоби елементів provider міграції, як-от `createMigrationItem`, константи причин, маркери статусу елемента, допоміжні засоби редагування та `summarizeMigrationItems` |
|
||||
| `plugin-sdk/migration-runtime` | Допоміжні засоби runtime міграції, як-от `copyMigrationFileItem` і `writeMigrationReport` |
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Підшляхи каналів">
|
||||
| Підшлях | Ключові експорти |
|
||||
<Accordion title="Підшляхи каналу">
|
||||
| Subpath | Ключові експорти |
|
||||
| --- | --- |
|
||||
| `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` | Спільні допоміжні засоби setup wizard, підказки allowlist, конструктори статусу setup |
|
||||
| `plugin-sdk/setup` | Спільні допоміжні засоби майстра налаштування, запити allowlist, конструктори статусу налаштування |
|
||||
| `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` | Допоміжні засоби для конфігурації кількох облікових записів/керування шлюзами дій, допоміжні засоби резервного використання облікового запису за замовчуванням |
|
||||
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні засоби нормалізації ID облікового запису |
|
||||
| `plugin-sdk/account-resolution` | Допоміжні засоби пошуку облікового запису + резервного використання значення за замовчуванням |
|
||||
| `plugin-sdk/account-helpers` | Вузькі допоміжні засоби для списку облікових записів/дій з обліковими записами |
|
||||
| `plugin-sdk/account-core` | Допоміжні засоби конфігурації/шлюзу дій для кількох облікових записів, допоміжні засоби fallback облікового запису за замовчуванням |
|
||||
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні засоби нормалізації account-id |
|
||||
| `plugin-sdk/account-resolution` | Допоміжні засоби пошуку облікового запису + fallback за замовчуванням |
|
||||
| `plugin-sdk/account-helpers` | Вузькі допоміжні засоби списку облікових записів/дій з обліковими записами |
|
||||
| `plugin-sdk/channel-pairing` | `createChannelPairingController` |
|
||||
| `plugin-sdk/channel-reply-pipeline` | `createChannelReplyPipeline` |
|
||||
| `plugin-sdk/channel-config-helpers` | `createHybridChannelConfigAdapter` |
|
||||
| `plugin-sdk/channel-config-schema` | Спільні примітиви схеми конфігурації каналу та універсальний конструктор |
|
||||
| `plugin-sdk/bundled-channel-config-schema` | Bundled схеми конфігурації каналів OpenClaw лише для підтримуваних bundled Plugin |
|
||||
| `plugin-sdk/channel-config-schema-legacy` | Застарілий сумісний псевдонім для bundled схем конфігурації каналів |
|
||||
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації/валідації користувацьких команд Telegram із резервним bundled-contract |
|
||||
| `plugin-sdk/command-gating` | Вузькі допоміжні засоби шлюзування авторизації команд |
|
||||
| `plugin-sdk/channel-config-schema` | Спільні примітиви схеми конфігурації каналу та загальний конструктор |
|
||||
| `plugin-sdk/bundled-channel-config-schema` | Схеми конфігурації bundled OpenClaw channel лише для підтримуваних bundled Plugin |
|
||||
| `plugin-sdk/channel-config-schema-legacy` | Застарілий псевдонім сумісності для bundled-channel config schemas |
|
||||
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації/валідації користувацьких команд Telegram із fallback bundled-contract |
|
||||
| `plugin-sdk/command-gating` | Вузькі допоміжні засоби шлюзу авторизації команд |
|
||||
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
|
||||
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink`, допоміжні засоби життєвого циклу/фіналізації draft stream |
|
||||
| `plugin-sdk/inbound-envelope` | Спільні допоміжні засоби для маршрутизації вхідних даних + конструктора envelope |
|
||||
| `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні засоби для запису й диспетчеризації вхідних відповідей |
|
||||
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink`, допоміжні засоби життєвого циклу/фіналізації потоку чернеток |
|
||||
| `plugin-sdk/inbound-envelope` | Спільні допоміжні засоби вхідного маршруту + конструктора envelope |
|
||||
| `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні засоби запису й диспетчеризації вхідних відповідей |
|
||||
| `plugin-sdk/messaging-targets` | Допоміжні засоби розбору/зіставлення цілей |
|
||||
| `plugin-sdk/outbound-media` | Спільні допоміжні засоби завантаження вихідних медіа |
|
||||
| `plugin-sdk/outbound-send-deps` | Полегшений пошук залежностей вихідного надсилання для адаптерів каналів |
|
||||
| `plugin-sdk/outbound-runtime` | Допоміжні засоби для вихідної доставки, ідентичності, делегата надсилання, сесії, форматування та планування payload |
|
||||
| `plugin-sdk/outbound-send-deps` | Полегшений пошук залежностей вихідного надсилання для адаптерів каналу |
|
||||
| `plugin-sdk/outbound-runtime` | Допоміжні засоби вихідної доставки, ідентичності, делегата надсилання, сесії, форматування та планування payload |
|
||||
| `plugin-sdk/poll-runtime` | Вузькі допоміжні засоби нормалізації poll |
|
||||
| `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби життєвого циклу прив’язок thread та адаптерів |
|
||||
| `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби життєвого циклу thread-binding та адаптера |
|
||||
| `plugin-sdk/agent-media-payload` | Застарілий конструктор payload медіа агента |
|
||||
| `plugin-sdk/conversation-runtime` | Допоміжні засоби для conversation/thread binding, pairing і configured-binding |
|
||||
| `plugin-sdk/conversation-runtime` | Допоміжні засоби прив’язки conversation/thread, pairing і configured-binding |
|
||||
| `plugin-sdk/runtime-config-snapshot` | Допоміжний засіб знімка конфігурації runtime |
|
||||
| `plugin-sdk/runtime-group-policy` | Допоміжні засоби визначення group-policy у runtime |
|
||||
| `plugin-sdk/channel-status` | Спільні допоміжні засоби знімка/зведення статусу каналу |
|
||||
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви схеми конфігурації каналу |
|
||||
| `plugin-sdk/runtime-group-policy` | Допоміжні засоби розв’язання group-policy у runtime |
|
||||
| `plugin-sdk/channel-status` | Спільні допоміжні засоби знімка/зведення стану каналу |
|
||||
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви channel config-schema |
|
||||
| `plugin-sdk/channel-config-writes` | Допоміжні засоби авторизації запису конфігурації каналу |
|
||||
| `plugin-sdk/channel-plugin-common` | Спільні prelude-експорти Plugin каналу |
|
||||
| `plugin-sdk/allowlist-config-edit` | Допоміжні засоби редагування/читання конфігурації allowlist |
|
||||
| `plugin-sdk/group-access` | Спільні допоміжні засоби для рішень щодо group-access |
|
||||
| `plugin-sdk/direct-dm` | Спільні допоміжні засоби auth/guard для direct-DM |
|
||||
| `plugin-sdk/interactive-runtime` | Допоміжні засоби семантичного представлення повідомлень, доставки та застарілих інтерактивних відповідей. Див. [Представлення повідомлень](/uk/plugins/message-presentation) |
|
||||
| `plugin-sdk/channel-inbound` | Compatibility barrel для допоміжних засобів debounce вхідних даних, зіставлення згадок, політики згадок і envelope |
|
||||
| `plugin-sdk/channel-inbound-debounce` | Вузькі допоміжні засоби debounce вхідних даних |
|
||||
| `plugin-sdk/channel-mention-gating` | Вузькі допоміжні засоби для політики згадок, маркерів згадок і тексту згадок без ширшої поверхні inbound runtime |
|
||||
| `plugin-sdk/group-access` | Спільні допоміжні засоби визначення group-access |
|
||||
| `plugin-sdk/direct-dm` | Спільні допоміжні засоби автентифікації/захисту direct-DM |
|
||||
| `plugin-sdk/interactive-runtime` | Семантичне представлення повідомлень, доставка та застарілі допоміжні засоби інтерактивних відповідей. Див. [Представлення повідомлень](/uk/plugins/message-presentation) |
|
||||
| `plugin-sdk/channel-inbound` | Barrel сумісності для вхідного debounce, зіставлення mention, допоміжних засобів mention-policy та envelope helpers |
|
||||
| `plugin-sdk/channel-inbound-debounce` | Вузькі допоміжні засоби вхідного debounce |
|
||||
| `plugin-sdk/channel-mention-gating` | Вузькі допоміжні засоби mention-policy, маркерів mention і тексту mention без ширшої поверхні inbound runtime |
|
||||
| `plugin-sdk/channel-envelope` | Вузькі допоміжні засоби форматування вхідного envelope |
|
||||
| `plugin-sdk/channel-location` | Допоміжні засоби контексту та форматування розташування каналу |
|
||||
| `plugin-sdk/channel-logging` | Допоміжні засоби логування каналу для відкидання вхідних даних і збоїв typing/ack |
|
||||
| `plugin-sdk/channel-send-result` | Типи результатів відповіді |
|
||||
| `plugin-sdk/channel-actions` | Допоміжні засоби дій із повідомленнями каналу, а також застарілі допоміжні засоби native schema, збережені для сумісності Plugin |
|
||||
| `plugin-sdk/channel-route` | Спільні допоміжні засоби нормалізації маршрутів, визначення цілі на основі parser, перетворення thread-id на рядок, dedupe/compact ключів маршрутів, типів parsed-target і порівняння route/target |
|
||||
| `plugin-sdk/channel-targets` | Допоміжні засоби розбору цілей; виклики порівняння маршрутів мають використовувати `plugin-sdk/channel-route` |
|
||||
| `plugin-sdk/channel-logging` | Допоміжні засоби логування каналу для скидання вхідних повідомлень і збоїв typing/ack |
|
||||
| `plugin-sdk/channel-send-result` | Типи результату відповіді |
|
||||
| `plugin-sdk/channel-actions` | Допоміжні засоби дій із повідомленнями каналу, а також застарілі допоміжні засоби нативної схеми, збережені для сумісності Plugin |
|
||||
| `plugin-sdk/channel-route` | Спільні допоміжні засоби нормалізації маршруту, розв’язання цілей на основі parser, перетворення thread-id на рядок, dedupe/compact ключів маршруту, типів parsed-target і порівняння route/target |
|
||||
| `plugin-sdk/channel-targets` | Допоміжні засоби розбору цілей; викликачам порівняння маршрутів слід використовувати `plugin-sdk/channel-route` |
|
||||
| `plugin-sdk/channel-contract` | Типи контракту каналу |
|
||||
| `plugin-sdk/channel-feedback` | Підключення feedback/reaction |
|
||||
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби secret-contract, такі як `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи цілей секретів |
|
||||
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби secret-contract, як-от `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи цілей secret |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Підшляхи Provider">
|
||||
| Підшлях | Ключові експорти |
|
||||
| Subpath | Ключові експорти |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
|
||||
| `plugin-sdk/lmstudio` | Підтримуваний фасад provider LM Studio для setup, виявлення catalog і підготовки моделі runtime |
|
||||
| `plugin-sdk/lmstudio-runtime` | Підтримуваний фасад runtime LM Studio для локальних значень сервера за замовчуванням, виявлення моделей, заголовків запитів і допоміжних засобів loaded-model |
|
||||
| `plugin-sdk/provider-setup` | Кураторські допоміжні засоби setup для локальних/self-hosted provider |
|
||||
| `plugin-sdk/self-hosted-provider-setup` | Спеціалізовані допоміжні засоби setup self-hosted provider, сумісного з OpenAI |
|
||||
| `plugin-sdk/cli-backend` | Значення за замовчуванням для backend CLI + константи watchdog |
|
||||
| `plugin-sdk/provider-auth-runtime` | Допоміжні засоби визначення API-ключа в runtime для Plugin provider |
|
||||
| `plugin-sdk/provider-auth-api-key` | Допоміжні засоби onboarding/profile-write для API-ключів, такі як `upsertApiKeyProfile` |
|
||||
| `plugin-sdk/provider-auth-result` | Стандартний конструктор auth-result OAuth |
|
||||
| `plugin-sdk/provider-auth-login` | Спільні інтерактивні допоміжні засоби входу для Plugin provider |
|
||||
| `plugin-sdk/provider-env-vars` | Допоміжні засоби пошуку env var для auth provider |
|
||||
| `plugin-sdk/lmstudio` | Підтримуваний фасад provider LM Studio для налаштування, виявлення каталогу та підготовки моделі в runtime |
|
||||
| `plugin-sdk/lmstudio-runtime` | Підтримуваний фасад runtime LM Studio для локальних стандартів сервера, виявлення моделей, заголовків запитів і допоміжних засобів loaded-model |
|
||||
| `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локального/self-hosted provider |
|
||||
| `plugin-sdk/self-hosted-provider-setup` | Цільові допоміжні засоби налаштування self-hosted provider, сумісного з OpenAI |
|
||||
| `plugin-sdk/cli-backend` | Стандартні значення бекенда CLI + константи watchdog |
|
||||
| `plugin-sdk/provider-auth-runtime` | Допоміжні засоби розв’язання API-key у runtime для plugin provider |
|
||||
| `plugin-sdk/provider-auth-api-key` | Допоміжні засоби onboard/profile-write для API-key, як-от `upsertApiKeyProfile` |
|
||||
| `plugin-sdk/provider-auth-result` | Стандартний конструктор auth-result для OAuth |
|
||||
| `plugin-sdk/provider-auth-login` | Спільні допоміжні засоби інтерактивного входу для plugin provider |
|
||||
| `plugin-sdk/provider-env-vars` | Допоміжні засоби пошуку auth env-var provider |
|
||||
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
|
||||
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні конструктори replay-policy, допоміжні засоби endpoint provider та допоміжні засоби нормалізації model-id, такі як `normalizeNativeXaiModelId` |
|
||||
| `plugin-sdk/provider-catalog-runtime` | Хук runtime для розширення catalog provider і шви registry plugin-provider для контрактних тестів |
|
||||
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні конструктори replay-policy, допоміжні засоби endpoint provider і допоміжні засоби нормалізації model-id, як-от `normalizeNativeXaiModelId` |
|
||||
| `plugin-sdk/provider-catalog-runtime` | Хук runtime для розширення каталогу provider і шви реєстру plugin-provider для контрактних тестів |
|
||||
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
|
||||
| `plugin-sdk/provider-http` | Загальні допоміжні засоби HTTP/можливостей endpoint provider, помилки HTTP provider і допоміжні засоби multipart form для транскрипції аудіо |
|
||||
| `plugin-sdk/provider-web-fetch-contract` | Вузькі допоміжні засоби контракту config/selection для web-fetch, такі як `enablePluginInConfig` і `WebFetchProviderPlugin` |
|
||||
| `plugin-sdk/provider-web-fetch` | Допоміжні засоби реєстрації/кешу provider web-fetch |
|
||||
| `plugin-sdk/provider-web-search-config-contract` | Вузькі допоміжні засоби config/облікових даних для web-search для provider, яким не потрібне підключення enable Plugin |
|
||||
| `plugin-sdk/provider-web-search-contract` | Вузькі допоміжні засоби контракту config/облікових даних для web-search, такі як `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і scoped setters/getters облікових даних |
|
||||
| `plugin-sdk/provider-web-search` | Допоміжні засоби реєстрації/кешу/runtime provider web-search |
|
||||
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика та допоміжні засоби сумісності xAI, такі як `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
|
||||
| `plugin-sdk/provider-http` | Загальні допоміжні засоби HTTP/endpoint capability provider, помилки HTTP provider і допоміжні засоби multipart form для аудіотранскрипції |
|
||||
| `plugin-sdk/provider-web-fetch-contract` | Вузькі допоміжні засоби контракту config/selection для web-fetch, як-от `enablePluginInConfig` і `WebFetchProviderPlugin` |
|
||||
| `plugin-sdk/provider-web-fetch` | Допоміжні засоби реєстрації/кешування provider web-fetch |
|
||||
| `plugin-sdk/provider-web-search-config-contract` | Вузькі допоміжні засоби config/credential для web-search для provider, яким не потрібне підключення enable plugin |
|
||||
| `plugin-sdk/provider-web-search-contract` | Вузькі допоміжні засоби контракту config/credential для web-search, як-от `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і setter/getter облікових даних з обмеженою областю дії |
|
||||
| `plugin-sdk/provider-web-search` | Допоміжні засоби реєстрації/кешування/runtime provider web-search |
|
||||
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика, а також допоміжні засоби сумісності xAI, як-от `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
|
||||
| `plugin-sdk/provider-usage` | `fetchClaudeUsage` та подібні |
|
||||
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи обгорток stream і спільні допоміжні засоби обгорток Anthropic/Bedrock/DeepSeek V4/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
|
||||
| `plugin-sdk/provider-transport-runtime` | Власні допоміжні засоби транспорту provider, такі як guarded fetch, перетворення transport message і writable event stream транспорту |
|
||||
| `plugin-sdk/provider-onboard` | Допоміжні засоби patch конфігурації onboarding |
|
||||
| `plugin-sdk/provider-transport-runtime` | Нативні допоміжні засоби транспорту provider, як-от guarded fetch, перетворення transport message і потоки подій writable transport |
|
||||
| `plugin-sdk/provider-onboard` | Допоміжні засоби виправлення конфігурації onboarding |
|
||||
| `plugin-sdk/global-singleton` | Допоміжні засоби process-local singleton/map/cache |
|
||||
| `plugin-sdk/group-activation` | Вузькі допоміжні засоби режиму активації групи та розбору команд |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Підшляхи auth і безпеки">
|
||||
| Підшлях | Ключові експорти |
|
||||
<Accordion title="Підшляхи автентифікації та безпеки">
|
||||
| Subpath | Ключові експорти |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні засоби registry команд, включно з форматуванням меню динамічних аргументів, допоміжні засоби авторизації відправника |
|
||||
| `plugin-sdk/command-status` | Конструктори повідомлень команд/довідки, такі як `buildCommandsMessagePaginated` і `buildHelpMessage` |
|
||||
| `plugin-sdk/approval-auth-runtime` | Допоміжні засоби визначення approver і auth дій у тому самому чаті |
|
||||
| `plugin-sdk/approval-client-runtime` | Власні допоміжні засоби профілю/фільтра approval exec |
|
||||
| `plugin-sdk/approval-delivery-runtime` | Власні адаптери можливостей/доставки approval |
|
||||
| `plugin-sdk/approval-gateway-runtime` | Спільний допоміжний засіб визначення Gateway approval |
|
||||
| `plugin-sdk/approval-handler-adapter-runtime` | Полегшені допоміжні засоби завантаження власного адаптера approval для hot channel entrypoint |
|
||||
| `plugin-sdk/approval-handler-runtime` | Ширші допоміжні засоби runtime handler approval; віддавайте перевагу вужчим швам adapter/gateway, коли їх достатньо |
|
||||
| `plugin-sdk/approval-native-runtime` | Власні допоміжні засоби для цілі approval + прив’язки облікового запису |
|
||||
| `plugin-sdk/approval-reply-runtime` | Допоміжні засоби payload відповіді на approval exec/plugin |
|
||||
| `plugin-sdk/approval-runtime` | Допоміжні засоби payload approval exec/plugin, власні допоміжні засоби маршрутизації/runtime approval і допоміжні засоби структурованого відображення approval, такі як `formatApprovalDisplayPath` |
|
||||
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні засоби реєстру команд, включно з форматуванням меню динамічних аргументів, допоміжні засоби авторизації відправника |
|
||||
| `plugin-sdk/command-status` | Конструктори повідомлень команд/довідки, як-от `buildCommandsMessagePaginated` і `buildHelpMessage` |
|
||||
| `plugin-sdk/approval-auth-runtime` | Допоміжні засоби розв’язання approver і авторизації дій у тому самому чаті |
|
||||
| `plugin-sdk/approval-client-runtime` | Нативні допоміжні засоби профілю/фільтра approval exec |
|
||||
| `plugin-sdk/approval-delivery-runtime` | Нативні адаптери можливостей/доставки approval |
|
||||
| `plugin-sdk/approval-gateway-runtime` | Спільний допоміжний засіб розв’язання Gateway approval |
|
||||
| `plugin-sdk/approval-handler-adapter-runtime` | Полегшені нативні допоміжні засоби завантаження адаптера approval для гарячих точок входу каналу |
|
||||
| `plugin-sdk/approval-handler-runtime` | Ширші допоміжні засоби runtime обробника approval; віддавайте перевагу вужчим швам adapter/gateway, коли їх достатньо |
|
||||
| `plugin-sdk/approval-native-runtime` | Нативні допоміжні засоби цілі approval + прив’язки облікового запису |
|
||||
| `plugin-sdk/approval-reply-runtime` | Допоміжні засоби payload відповіді approval для exec/plugin |
|
||||
| `plugin-sdk/approval-runtime` | Допоміжні засоби payload approval для exec/plugin, нативні допоміжні засоби маршрутизації/runtime approval і структуровані допоміжні засоби відображення approval, як-от `formatApprovalDisplayPath` |
|
||||
| `plugin-sdk/reply-dedupe` | Вузькі допоміжні засоби скидання dedupe вхідних відповідей |
|
||||
| `plugin-sdk/channel-contract-testing` | Вузькі допоміжні засоби тестування контракту каналу без широкого testing barrel |
|
||||
| `plugin-sdk/command-auth-native` | Власні допоміжні засоби auth команд, форматування меню динамічних аргументів і цілі сесії native |
|
||||
| `plugin-sdk/command-auth-native` | Нативна автентифікація команд, форматування меню динамічних аргументів і нативні допоміжні засоби session-target |
|
||||
| `plugin-sdk/command-detection` | Спільні допоміжні засоби виявлення команд |
|
||||
| `plugin-sdk/command-primitives-runtime` | Полегшені предикати тексту команд для hot channel path |
|
||||
| `plugin-sdk/command-surface` | Допоміжні засоби нормалізації body команди та command-surface |
|
||||
| `plugin-sdk/command-primitives-runtime` | Полегшені предикати тексту команд для гарячих шляхів каналу |
|
||||
| `plugin-sdk/command-surface` | Допоміжні засоби нормалізації command-body і command-surface |
|
||||
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
|
||||
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби збору secret-contract для поверхонь секретів channel/plugin |
|
||||
| `plugin-sdk/secret-ref-runtime` | Вузькі допоміжні засоби `coerceSecretRef` і типізації SecretRef для розбору secret-contract/config |
|
||||
| `plugin-sdk/security-runtime` | Спільні допоміжні засоби довіри, шлюзування DM, зовнішнього вмісту, редагування чутливого тексту, порівняння секретів за constant-time і збору секретів |
|
||||
| `plugin-sdk/ssrf-policy` | Допоміжні засоби політики SSRF для allowlist хостів і приватних мереж |
|
||||
| `plugin-sdk/ssrf-dispatcher` | Вузькі допоміжні засоби pinned-dispatcher без широкої поверхні infra runtime |
|
||||
| `plugin-sdk/ssrf-runtime` | Допоміжні засоби pinned-dispatcher, fetch із захистом SSRF, помилка SSRF і політика SSRF |
|
||||
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби збирання secret-contract для поверхонь secret каналу/plugin |
|
||||
| `plugin-sdk/secret-ref-runtime` | Вузькі допоміжні засоби типізації `coerceSecretRef` і SecretRef для розбору secret-contract/config |
|
||||
| `plugin-sdk/security-runtime` | Спільні допоміжні засоби довіри, DM gating, зовнішнього вмісту, редагування чутливого тексту, порівняння secret за константний час і збирання secret |
|
||||
| `plugin-sdk/ssrf-policy` | Допоміжні засоби host allowlist і політики SSRF для приватної мережі |
|
||||
| `plugin-sdk/ssrf-dispatcher` | Вузькі допоміжні засоби pinned-dispatcher без широкої поверхні runtime інфраструктури |
|
||||
| `plugin-sdk/ssrf-runtime` | Допоміжні засоби pinned-dispatcher, fetch із захистом SSRF, помилки SSRF і політики SSRF |
|
||||
| `plugin-sdk/secret-input` | Допоміжні засоби розбору secret input |
|
||||
| `plugin-sdk/webhook-ingress` | Допоміжні засоби запиту/цілі Webhook і приведення raw websocket/body |
|
||||
| `plugin-sdk/webhook-ingress` | Допоміжні засоби запитів/цілей Webhook і приведення raw websocket/body |
|
||||
| `plugin-sdk/webhook-request-guards` | Допоміжні засоби розміру body/timeout запиту |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Підшляхи runtime і сховища">
|
||||
| Підшлях | Ключові експорти |
|
||||
| Subpath | Ключові експорти |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/runtime` | Широкі допоміжні засоби runtime/logging/backup/встановлення Plugin |
|
||||
| `plugin-sdk/runtime-env` | Вузькі допоміжні засоби env runtime, logger, timeout, retry і backoff |
|
||||
| `plugin-sdk/browser-config` | Підтримуваний фасад конфігурації браузера для нормалізованого профілю/значень за замовчуванням, розбору URL CDP і допоміжних засобів auth browser-control |
|
||||
| `plugin-sdk/runtime-env` | Вузькі допоміжні засоби runtime env, logger, timeout, retry і backoff |
|
||||
| `plugin-sdk/browser-config` | Підтримуваний фасад конфігурації браузера для нормалізованого профілю/стандартних значень, розбору URL CDP і допоміжних засобів автентифікації browser-control |
|
||||
| `plugin-sdk/channel-runtime-context` | Загальні допоміжні засоби реєстрації та пошуку channel runtime-context |
|
||||
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
|
||||
| `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби команд/hook/http/interactive для Plugin |
|
||||
| `plugin-sdk/hook-runtime` | Спільні допоміжні засоби pipeline для Webhook/внутрішніх hook |
|
||||
| `plugin-sdk/lazy-runtime` | Допоміжні засоби lazy runtime import/binding, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
|
||||
| `plugin-sdk/process-runtime` | Допоміжні засоби exec процесів |
|
||||
| `plugin-sdk/cli-runtime` | Допоміжні засоби форматування CLI, очікування, версій, виклику аргументів і lazy command-group |
|
||||
| `plugin-sdk/gateway-runtime` | Допоміжні засоби клієнта Gateway, Gateway CLI RPC, помилок протоколу Gateway і patch статусу каналу |
|
||||
| `plugin-sdk/config-types` | Поверхня конфігурації лише для типів для форм конфігурації Plugin, таких як `OpenClawConfig` і типи конфігурації channel/provider |
|
||||
| `plugin-sdk/plugin-config-runtime` | Допоміжні засоби пошуку plugin-config у runtime, такі як `requireRuntimeConfig`, `resolvePluginConfigObject` і `resolveLivePluginConfigObject` |
|
||||
| `plugin-sdk/config-mutation` | Допоміжні засоби транзакційної мутації конфігурації, такі як `mutateConfigFile`, `replaceConfigFile` і `logConfigUpdated` |
|
||||
| `plugin-sdk/runtime-config-snapshot` | Допоміжні засоби знімка конфігурації поточного процесу, такі як `getRuntimeConfig`, `getRuntimeConfigSnapshot` і setters тестових знімків |
|
||||
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації назв/описів команд Telegram і перевірки дублікатів/конфліктів, навіть коли поверхня bundled контракту Telegram недоступна |
|
||||
| `plugin-sdk/text-autolink-runtime` | Виявлення автопосилань на посилання на файли без широкого barrel `text-runtime` |
|
||||
| `plugin-sdk/approval-runtime` | Допоміжні засоби approval exec/plugin, конструктори можливостей approval, допоміжні засоби auth/profile, власні допоміжні засоби routing/runtime і форматування шляху структурованого відображення approval |
|
||||
| `plugin-sdk/hook-runtime` | Спільні допоміжні засоби pipeline для webhook/internal hook |
|
||||
| `plugin-sdk/lazy-runtime` | Допоміжні засоби lazy імпорту/прив’язки runtime, як-от `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
|
||||
| `plugin-sdk/process-runtime` | Допоміжні засоби виконання process |
|
||||
| `plugin-sdk/cli-runtime` | Допоміжні засоби форматування CLI, очікування, версії, виклику аргументів і lazy command-group |
|
||||
| `plugin-sdk/gateway-runtime` | Допоміжні засоби клієнта Gateway, Gateway CLI RPC, помилок протоколу Gateway і виправлення channel-status |
|
||||
| `plugin-sdk/config-types` | Поверхня конфігурації лише для типів для форм конфігурації Plugin, як-от `OpenClawConfig` і типів конфігурації channel/provider |
|
||||
| `plugin-sdk/plugin-config-runtime` | Допоміжні засоби пошуку plugin-config у runtime, як-от `requireRuntimeConfig`, `resolvePluginConfigObject` і `resolveLivePluginConfigObject` |
|
||||
| `plugin-sdk/config-mutation` | Допоміжні засоби транзакційної мутації конфігурації, як-от `mutateConfigFile`, `replaceConfigFile` і `logConfigUpdated` |
|
||||
| `plugin-sdk/runtime-config-snapshot` | Допоміжні засоби знімка конфігурації поточного процесу, як-от `getRuntimeConfig`, `getRuntimeConfigSnapshot` і setter-и тестових знімків |
|
||||
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації назви/опису команди Telegram і перевірки дублікатів/конфліктів, навіть коли поверхня bundled-контракту Telegram недоступна |
|
||||
| `plugin-sdk/text-autolink-runtime` | Виявлення autolink посилань на файли без широкого barrel text-runtime |
|
||||
| `plugin-sdk/approval-runtime` | Допоміжні засоби approval для exec/plugin, конструктори approval-capability, допоміжні засоби auth/profile, нативні допоміжні засоби маршрутизації/runtime і форматування шляху структурованого відображення approval |
|
||||
| `plugin-sdk/reply-runtime` | Спільні допоміжні засоби runtime для inbound/reply, chunking, dispatch, Heartbeat, планувальник reply |
|
||||
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch/finalize reply і допоміжні засоби міток conversation |
|
||||
| `plugin-sdk/reply-history` | Спільні допоміжні засоби коротковіконної історії reply і маркери, такі як `buildHistoryContext`, `HISTORY_CONTEXT_MARKER`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
|
||||
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch/finalize reply і допоміжні засоби conversation-label |
|
||||
| `plugin-sdk/reply-history` | Спільні допоміжні засоби коротковіконної history reply і маркери, як-от `buildHistoryContext`, `HISTORY_CONTEXT_MARKER`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
|
||||
| `plugin-sdk/reply-reference` | `createReplyReferencePlanner` |
|
||||
| `plugin-sdk/reply-chunking` | Вузькі допоміжні засоби chunking тексту/markdown |
|
||||
| `plugin-sdk/session-store-runtime` | Допоміжні засоби шляху сховища сесій, ключа сесії, updated-at і мутації сховища |
|
||||
| `plugin-sdk/reply-chunking` | Вузькі допоміжні засоби chunking text/markdown |
|
||||
| `plugin-sdk/session-store-runtime` | Допоміжні засоби шляху сховища сесій, session-key, updated-at і мутації сховища |
|
||||
| `plugin-sdk/cron-store-runtime` | Допоміжні засоби шляху/load/save для сховища Cron |
|
||||
| `plugin-sdk/state-paths` | Допоміжні засоби шляхів каталогів state/OAuth |
|
||||
| `plugin-sdk/routing` | Допоміжні засоби маршруту/ключа сесії/прив’язки облікового запису, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
|
||||
| `plugin-sdk/status-helpers` | Спільні допоміжні засоби зведення статусу каналу/облікового запису, значень runtime-state за замовчуванням і метаданих issue |
|
||||
| `plugin-sdk/target-resolver-runtime` | Спільні допоміжні засоби resolver цілей |
|
||||
| `plugin-sdk/routing` | Допоміжні засоби прив’язки route/session-key/account, як-от `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
|
||||
| `plugin-sdk/status-helpers` | Спільні допоміжні засоби зведення статусу каналу/облікового запису, стандартні значення 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` | Runner команд із таймером і нормалізованими результатами stdout/stderr |
|
||||
| `plugin-sdk/param-readers` | Поширені зчитувачі параметрів tool/CLI |
|
||||
| `plugin-sdk/tool-payload` | Витяг нормалізованих payload з об’єктів результатів tool |
|
||||
| `plugin-sdk/tool-send` | Витяг канонічних полів цілі надсилання з аргументів tool |
|
||||
| `plugin-sdk/request-url` | Видобування рядкових URL із входів, подібних до fetch/request |
|
||||
| `plugin-sdk/run-command` | Виконавець команд із таймером і нормалізованими результатами stdout/stderr |
|
||||
| `plugin-sdk/param-readers` | Загальні читачі параметрів tool/CLI |
|
||||
| `plugin-sdk/tool-payload` | Видобування нормалізованих payload з об’єктів результатів tool |
|
||||
| `plugin-sdk/tool-send` | Видобування канонічних полів цілі надсилання з аргументів tool |
|
||||
| `plugin-sdk/temp-path` | Спільні допоміжні засоби шляхів тимчасового завантаження |
|
||||
| `plugin-sdk/logging-core` | Допоміжні засоби logger підсистеми та редагування |
|
||||
| `plugin-sdk/markdown-table-runtime` | Допоміжні засоби режиму таблиць Markdown і перетворення |
|
||||
| `plugin-sdk/model-session-runtime` | Допоміжні засоби перевизначення моделі/сесії, такі як `applyModelOverrideToSessionEntry` і `resolveAgentMaxConcurrent` |
|
||||
| `plugin-sdk/talk-config-runtime` | Допоміжні засоби визначення конфігурації talk provider |
|
||||
| `plugin-sdk/markdown-table-runtime` | Допоміжні засоби режиму та перетворення таблиць Markdown |
|
||||
| `plugin-sdk/model-session-runtime` | Допоміжні засоби перевизначення model/session, як-от `applyModelOverrideToSessionEntry` і `resolveAgentMaxConcurrent` |
|
||||
| `plugin-sdk/talk-config-runtime` | Допоміжні засоби розв’язання конфігурації talk provider |
|
||||
| `plugin-sdk/json-store` | Невеликі допоміжні засоби читання/запису стану JSON |
|
||||
| `plugin-sdk/file-lock` | Допоміжні засоби реентрантного file-lock |
|
||||
| `plugin-sdk/persistent-dedupe` | Допоміжні засоби dedupe-кешу зберігання на диску |
|
||||
| `plugin-sdk/acp-runtime` | Допоміжні засоби runtime/сесії ACP і dispatch reply |
|
||||
| `plugin-sdk/acp-binding-resolve-runtime` | Визначення прив’язок ACP лише для читання без import запуску життєвого циклу |
|
||||
| `plugin-sdk/file-lock` | Реентерабельні допоміжні засоби file-lock |
|
||||
| `plugin-sdk/persistent-dedupe` | Допоміжні засоби кешу dedupe з дисковою підтримкою |
|
||||
| `plugin-sdk/acp-runtime` | Допоміжні засоби runtime/session і reply-dispatch для ACP |
|
||||
| `plugin-sdk/acp-binding-resolve-runtime` | Розв’язання прив’язок ACP лише для читання без імпортів запуску життєвого циклу |
|
||||
| `plugin-sdk/agent-config-primitives` | Вузькі примітиви config-schema runtime агента |
|
||||
| `plugin-sdk/boolean-param` | Гнучкий зчитувач boolean-параметрів |
|
||||
| `plugin-sdk/dangerous-name-runtime` | Допоміжні засоби визначення збігів небезпечних назв |
|
||||
| `plugin-sdk/device-bootstrap` | Допоміжні засоби bootstrap пристрою і токенів pairing |
|
||||
| `plugin-sdk/boolean-param` | Гнучкий читач булевих параметрів |
|
||||
| `plugin-sdk/dangerous-name-runtime` | Допоміжні засоби розв’язання зіставлення dangerous-name |
|
||||
| `plugin-sdk/device-bootstrap` | Допоміжні засоби початкового налаштування пристрою та токенів pairing |
|
||||
| `plugin-sdk/extension-shared` | Спільні примітиви допоміжних засобів passive-channel, status і ambient proxy |
|
||||
| `plugin-sdk/models-provider-runtime` | Допоміжні засоби reply для команди `/models`/provider |
|
||||
| `plugin-sdk/models-provider-runtime` | Допоміжні засоби відповіді `/models` command/provider |
|
||||
| `plugin-sdk/skill-commands-runtime` | Допоміжні засоби переліку команд skill |
|
||||
| `plugin-sdk/native-command-registry` | Допоміжні засоби registry/build/serialize власних команд |
|
||||
| `plugin-sdk/agent-harness` | Експериментальна поверхня trusted-plugin для низькорівневих harness агента: типи harness, допоміжні засоби steer/abort для active-run, допоміжні засоби мосту tool OpenClaw, допоміжні засоби політики runtime-plan tool, класифікація результатів terminal, допоміжні засоби форматування/деталізації прогресу tool і утиліти результатів спроб |
|
||||
| `plugin-sdk/native-command-registry` | Допоміжні засоби реєстру/build/serialize нативних команд |
|
||||
| `plugin-sdk/agent-harness` | Експериментальна поверхня trusted-plugin для низькорівневих harness агента: типи harness, допоміжні засоби steer/abort активного запуску, допоміжні засоби мосту OpenClaw tool, допоміжні засоби політики tool у runtime-plan, класифікація результатів terminal і допоміжні засоби форматування/деталізації прогресу tool та утиліти результатів спроб |
|
||||
| `plugin-sdk/provider-zai-endpoint` | Допоміжні засоби виявлення endpoint Z.A.I |
|
||||
| `plugin-sdk/async-lock-runtime` | Допоміжний засіб process-local async lock для невеликих файлів стану runtime |
|
||||
| `plugin-sdk/channel-activity-runtime` | Допоміжний засіб телеметрії активності каналу |
|
||||
| `plugin-sdk/concurrency-runtime` | Допоміжний засіб обмеженої конкурентності async-задач |
|
||||
| `plugin-sdk/dedupe-runtime` | Допоміжні засоби dedupe-кешу в пам’яті |
|
||||
| `plugin-sdk/channel-activity-runtime` | Допоміжний засіб telemetry активності каналу |
|
||||
| `plugin-sdk/concurrency-runtime` | Допоміжний засіб обмеженої concurrency асинхронних завдань |
|
||||
| `plugin-sdk/dedupe-runtime` | Допоміжні засоби кешу dedupe в пам’яті |
|
||||
| `plugin-sdk/delivery-queue-runtime` | Допоміжний засіб спорожнення черги очікуваної вихідної доставки |
|
||||
| `plugin-sdk/file-access-runtime` | Допоміжні засоби безпечних шляхів локальних файлів і джерел медіа |
|
||||
| `plugin-sdk/heartbeat-runtime` | Допоміжні засоби подій і видимості Heartbeat |
|
||||
| `plugin-sdk/number-runtime` | Допоміжний засіб приведення чисел |
|
||||
| `plugin-sdk/number-runtime` | Допоміжний засіб числового приведення |
|
||||
| `plugin-sdk/secure-random-runtime` | Допоміжні засоби безпечних токенів/UUID |
|
||||
| `plugin-sdk/system-event-runtime` | Допоміжні засоби черги системних подій |
|
||||
| `plugin-sdk/transport-ready-runtime` | Допоміжний засіб очікування готовності транспорту |
|
||||
| `plugin-sdk/infra-runtime` | Застарілий compatibility shim; використовуйте спеціалізовані підшляхи runtime вище |
|
||||
| `plugin-sdk/infra-runtime` | Застарілий shim сумісності; використовуйте наведені вище цільові підшляхи runtime |
|
||||
| `plugin-sdk/collection-runtime` | Невеликі допоміжні засоби обмеженого кешу |
|
||||
| `plugin-sdk/diagnostic-runtime` | Допоміжні засоби прапорців, подій і trace-context діагностики |
|
||||
| `plugin-sdk/diagnostic-runtime` | Допоміжні засоби діагностичних прапорців, подій і trace-context |
|
||||
| `plugin-sdk/error-runtime` | Допоміжні засоби графа помилок, форматування, спільної класифікації помилок, `isApprovalNotFoundError` |
|
||||
| `plugin-sdk/fetch-runtime` | Допоміжні засоби обгорнутого fetch, proxy і pinned lookup |
|
||||
| `plugin-sdk/runtime-fetch` | Runtime fetch з урахуванням dispatcher без import proxy/guarded-fetch |
|
||||
| `plugin-sdk/response-limit-runtime` | Зчитувач обмеженого body відповіді без широкої поверхні media runtime |
|
||||
| `plugin-sdk/session-binding-runtime` | Поточний стан прив’язки conversation без routing налаштованої прив’язки або сховищ pairing |
|
||||
| `plugin-sdk/session-store-runtime` | Допоміжні засоби сховища сесій без широких import запису/обслуговування конфігурації |
|
||||
| `plugin-sdk/context-visibility-runtime` | Допоміжні засоби визначення видимості контексту та фільтрації додаткового контексту без широких import конфігурації/безпеки |
|
||||
| `plugin-sdk/string-coerce-runtime` | Вузькі допоміжні засоби приведення й нормалізації primitive record/string без import markdown/logging |
|
||||
| `plugin-sdk/host-runtime` | Допоміжні засоби нормалізації імені хоста і хоста SCP |
|
||||
| `plugin-sdk/retry-runtime` | Допоміжні засоби конфігурації retry і runner retry |
|
||||
| `plugin-sdk/agent-runtime` | Допоміжні засоби каталогу/ідентичності/workspace агента |
|
||||
| `plugin-sdk/directory-runtime` | Запит/dedup каталогу на основі конфігурації |
|
||||
| `plugin-sdk/runtime-fetch` | Runtime fetch з урахуванням dispatcher без імпортів proxy/guarded-fetch |
|
||||
| `plugin-sdk/response-limit-runtime` | Читач body відповіді з обмеженням без широкої поверхні media runtime |
|
||||
| `plugin-sdk/session-binding-runtime` | Поточний стан прив’язки conversation без маршрутизації configured binding або сховищ pairing |
|
||||
| `plugin-sdk/session-store-runtime` | Допоміжні засоби session-store без широких імпортів запису/обслуговування конфігурації |
|
||||
| `plugin-sdk/context-visibility-runtime` | Допоміжні засоби розв’язання видимості контексту та фільтрації додаткового контексту без широких імпортів config/security |
|
||||
| `plugin-sdk/string-coerce-runtime` | Вузькі допоміжні засоби приведення й нормалізації primitive record/string без імпортів markdown/logging |
|
||||
| `plugin-sdk/host-runtime` | Допоміжні засоби нормалізації hostname і SCP host |
|
||||
| `plugin-sdk/retry-runtime` | Допоміжні засоби конфігурації retry і виконання retry |
|
||||
| `plugin-sdk/agent-runtime` | Допоміжні засоби каталогу/ідентичності/робочого простору агента |
|
||||
| `plugin-sdk/directory-runtime` | Запит/dedupe каталогу з підтримкою конфігурації |
|
||||
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Підшляхи можливостей і тестування">
|
||||
| Підшлях | Ключові експорти |
|
||||
| Subpath | Ключові експорти |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/media-runtime` | Спільні допоміжні засоби fetch/transform/store для медіа, а також конструктори payload медіа |
|
||||
| `plugin-sdk/media-store` | Вузькі допоміжні засоби сховища медіа, такі як `saveMediaBuffer` |
|
||||
| `plugin-sdk/media-runtime` | Спільні допоміжні засоби fetch/transform/store для медіа, а також конструктори media payload |
|
||||
| `plugin-sdk/media-store` | Вузькі допоміжні засоби сховища медіа, як-от `saveMediaBuffer` |
|
||||
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби failover для генерації медіа, вибір кандидатів і повідомлення про відсутню модель |
|
||||
| `plugin-sdk/media-understanding` | Типи provider для розуміння медіа, а також експорти допоміжних засобів для зображень/аудіо, орієнтовані на provider |
|
||||
| `plugin-sdk/text-runtime` | Спільні допоміжні засоби text/markdown/logging, такі як видалення тексту, видимого асистенту, допоміжні засоби render/chunking/table для markdown, допоміжні засоби редагування, допоміжні засоби тегів директив і утиліти безпечного тексту |
|
||||
| `plugin-sdk/text-runtime` | Спільні допоміжні засоби text/markdown/logging, як-от вилучення тексту, видимого помічнику, допоміжні засоби рендерингу/chunking/таблиць Markdown, допоміжні засоби редагування, допоміжні засоби directive-tag і утиліти safe-text |
|
||||
| `plugin-sdk/text-chunking` | Допоміжний засіб chunking вихідного тексту |
|
||||
| `plugin-sdk/speech` | Типи provider мовлення, а також експорти допоміжних засобів директив, registry, валідації, TTS-конструктора, сумісного з OpenAI, і мовлення, орієнтованих на provider |
|
||||
| `plugin-sdk/speech-core` | Спільні типи provider мовлення, експорти допоміжних засобів registry, директив, нормалізації та мовлення |
|
||||
| `plugin-sdk/realtime-transcription` | Типи provider транскрипції в реальному часі, допоміжні засоби registry і спільний допоміжний засіб сесії WebSocket |
|
||||
| `plugin-sdk/realtime-voice` | Типи provider голосу в реальному часі та допоміжні засоби registry |
|
||||
| `plugin-sdk/image-generation` | Типи provider генерації зображень, а також допоміжні засоби ресурсів зображень/URL даних |
|
||||
| `plugin-sdk/image-generation-core` | Спільні типи генерації зображень, допоміжні засоби failover, auth і registry |
|
||||
| `plugin-sdk/speech` | Типи speech provider, а також експорти допоміжних засобів directive, registry, validation, конструктора TTS, сумісного з OpenAI, і speech helper |
|
||||
| `plugin-sdk/speech-core` | Спільні типи speech provider, а також експорти допоміжних засобів registry, directive, normalization і speech helper |
|
||||
| `plugin-sdk/realtime-transcription` | Типи provider для realtime transcription, допоміжні засоби registry і спільний допоміжний засіб сесії WebSocket |
|
||||
| `plugin-sdk/realtime-voice` | Типи provider для realtime voice і допоміжні засоби registry |
|
||||
| `plugin-sdk/image-generation` | Типи provider для генерації зображень, а також допоміжні засоби image asset/data URL |
|
||||
| `plugin-sdk/image-generation-core` | Спільні типи image-generation, допоміжні засоби failover, auth і registry |
|
||||
| `plugin-sdk/music-generation` | Типи provider/request/result для генерації музики |
|
||||
| `plugin-sdk/music-generation-core` | Спільні типи генерації музики, допоміжні засоби failover, пошук provider і розбір model-ref |
|
||||
| `plugin-sdk/music-generation-core` | Спільні типи music-generation, допоміжні засоби failover, пошук provider і розбір model-ref |
|
||||
| `plugin-sdk/video-generation` | Типи provider/request/result для генерації відео |
|
||||
| `plugin-sdk/video-generation-core` | Спільні типи генерації відео, допоміжні засоби failover, пошук provider і розбір model-ref |
|
||||
| `plugin-sdk/webhook-targets` | Допоміжні засоби registry цілей Webhook і встановлення маршрутів |
|
||||
| `plugin-sdk/video-generation-core` | Спільні типи video-generation, допоміжні засоби failover, пошук provider і розбір model-ref |
|
||||
| `plugin-sdk/webhook-targets` | Допоміжні засоби registry цілей Webhook і встановлення route |
|
||||
| `plugin-sdk/webhook-path` | Допоміжні засоби нормалізації шляху Webhook |
|
||||
| `plugin-sdk/web-media` | Спільні допоміжні засоби завантаження віддалених/локальних медіа |
|
||||
| `plugin-sdk/zod` | Повторно експортований `zod` для споживачів Plugin SDK |
|
||||
| `plugin-sdk/testing` | Широкий compatibility barrel для застарілих тестів Plugin. Нові тести розширень мають натомість імпортувати спеціалізовані підшляхи SDK, такі як `plugin-sdk/plugin-test-runtime`, `plugin-sdk/channel-test-helpers`, `plugin-sdk/test-env` або `plugin-sdk/test-fixtures` |
|
||||
| `plugin-sdk/plugin-test-api` | Мінімальний допоміжний засіб `createTestPluginApi` для прямих unit-тестів реєстрації Plugin без імпорту мостів допоміжних засобів тестування репозиторію |
|
||||
| `plugin-sdk/channel-test-helpers` | Допоміжні засоби тестування, орієнтовані на канал, для загальних контрактів actions/setup/status, перевірок каталогу, життєвого циклу запуску облікового запису, threading send-config, моків runtime, issues статусу, вихідної доставки та реєстрації hook |
|
||||
| `plugin-sdk/channel-target-testing` | Спільний набір випадків помилок визначення цілі для тестів каналів |
|
||||
| `plugin-sdk/plugin-test-contracts` | Допоміжні засоби контрактів для package Plugin, реєстрації, публічного артефакту, прямого імпорту, runtime API та побічних ефектів імпорту |
|
||||
| `plugin-sdk/provider-test-contracts` | Допоміжні засоби контрактів для runtime provider, auth, discovery, onboard, catalog, wizard, можливостей медіа, політики replay, realtime STT live-audio, web-search/fetch і stream |
|
||||
| `plugin-sdk/provider-http-test-mocks` | Opt-in моки HTTP/auth для Vitest у тестах provider, що використовують `plugin-sdk/provider-http` |
|
||||
| `plugin-sdk/test-fixtures` | Загальні фікстури захоплення runtime CLI, контексту sandbox, записувача skill, agent-message, system-event, перезавантаження модуля, шляху bundled plugin, terminal-text, chunking, auth-token і typed-case |
|
||||
| `plugin-sdk/test-node-mocks` | Спеціалізовані допоміжні засоби моків вбудованих модулів Node для використання всередині фабрик Vitest `vi.mock("node:*")` |
|
||||
| `plugin-sdk/testing` | Широкий сумісний barrel для застарілих тестів Plugin. Нові тести extension мають імпортувати натомість цільові підшляхи SDK, як-от `plugin-sdk/agent-runtime-test-contracts`, `plugin-sdk/plugin-test-runtime`, `plugin-sdk/channel-test-helpers`, `plugin-sdk/test-env` або `plugin-sdk/test-fixtures` |
|
||||
| `plugin-sdk/plugin-test-api` | Мінімальний допоміжний засіб `createTestPluginApi` для прямих модульних тестів реєстрації Plugin без імпорту мостів допоміжних засобів тестування репозиторію |
|
||||
| `plugin-sdk/agent-runtime-test-contracts` | Фікстури контрактів нативного адаптера agent-runtime для тестів auth, delivery, fallback, tool-hook, prompt-overlay, schema і проєкції transcript |
|
||||
| `plugin-sdk/channel-test-helpers` | Допоміжні засоби тестування, орієнтовані на канал, для загальних контрактів actions/setup/status, перевірок каталогу, життєвого циклу запуску облікового запису, threading send-config, моків runtime, проблем статусу, вихідної доставки та реєстрації hook |
|
||||
| `plugin-sdk/channel-target-testing` | Спільний набір випадків помилок розв’язання цілей для тестів каналу |
|
||||
| `plugin-sdk/plugin-test-contracts` | Допоміжні засоби контрактів пакета Plugin, реєстрації, публічного артефакту, прямого імпорту, runtime API і побічних ефектів імпорту |
|
||||
| `plugin-sdk/provider-test-contracts` | Допоміжні засоби контрактів runtime, auth, discovery, onboard, catalog, wizard, media capability, replay policy, realtime STT live-audio, web-search/fetch і stream для provider |
|
||||
| `plugin-sdk/provider-http-test-mocks` | Opt-in моки HTTP/auth для Vitest для тестів provider, які перевіряють `plugin-sdk/provider-http` |
|
||||
| `plugin-sdk/test-fixtures` | Загальні фікстури захоплення runtime CLI, контексту sandbox, writer skill, agent-message, system-event, перезавантаження модуля, шляху bundled plugin, terminal-text, chunking, auth-token і typed-case |
|
||||
| `plugin-sdk/test-node-mocks` | Цільові допоміжні засоби моків вбудованих модулів Node для використання всередині фабрик Vitest `vi.mock("node:*")` |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Підшляхи пам’яті">
|
||||
| Підшлях | Ключові експорти |
|
||||
| Subpath | Ключові експорти |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/memory-core` | Поверхня допоміжних засобів bundled memory-core для менеджера/конфігурації/файлів/допоміжних засобів CLI |
|
||||
| `plugin-sdk/memory-core-engine-runtime` | Фасад runtime індексації/пошуку пам’яті |
|
||||
| `plugin-sdk/memory-core` | Поверхня допоміжних засобів bundled memory-core для manager/config/file/CLI helper |
|
||||
| `plugin-sdk/memory-core-engine-runtime` | Фасад runtime індексу/пошуку пам’яті |
|
||||
| `plugin-sdk/memory-core-host-engine-foundation` | Експорти foundation engine хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-engine-embeddings` | Контракти embedding хоста пам’яті, доступ до registry, локальний provider і загальні допоміжні засоби batch/remote |
|
||||
| `plugin-sdk/memory-core-host-engine-qmd` | Експорти engine QMD хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-engine-storage` | Експорти engine зберігання хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-multimodal` | Мультимодальні допоміжні засоби хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-engine-storage` | Експорти engine сховища хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-multimodal` | Допоміжні засоби multimodal хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-query` | Допоміжні засоби запитів хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-secret` | Допоміжні засоби секретів хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-secret` | Допоміжні засоби secret хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-events` | Допоміжні засоби журналу подій хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-status` | Допоміжні засоби статусу хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні засоби runtime CLI хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-runtime-core` | Основні допоміжні засоби runtime хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-runtime-core` | Допоміжні засоби core runtime хоста пам’яті |
|
||||
| `plugin-sdk/memory-core-host-runtime-files` | Допоміжні засоби файлів/runtime хоста пам’яті |
|
||||
| `plugin-sdk/memory-host-core` | Нейтральний до вендора псевдонім для основних допоміжних засобів runtime хоста пам’яті |
|
||||
| `plugin-sdk/memory-host-events` | Нейтральний до вендора псевдонім для допоміжних засобів журналу подій хоста пам’яті |
|
||||
| `plugin-sdk/memory-host-files` | Нейтральний до вендора псевдонім для допоміжних засобів файлів/runtime хоста пам’яті |
|
||||
| `plugin-sdk/memory-host-markdown` | Спільні допоміжні засоби керованого markdown для Plugin, суміжних із пам’яттю |
|
||||
| `plugin-sdk/memory-host-core` | Нейтральний до постачальника псевдонім для допоміжних засобів core runtime хоста пам’яті |
|
||||
| `plugin-sdk/memory-host-events` | Нейтральний до постачальника псевдонім для допоміжних засобів журналу подій хоста пам’яті |
|
||||
| `plugin-sdk/memory-host-files` | Нейтральний до постачальника псевдонім для допоміжних засобів файлів/runtime хоста пам’яті |
|
||||
| `plugin-sdk/memory-host-markdown` | Спільні допоміжні засоби managed-markdown для plugin, суміжних із пам’яттю |
|
||||
| `plugin-sdk/memory-host-search` | Фасад runtime Active Memory для доступу до менеджера пошуку |
|
||||
| `plugin-sdk/memory-host-status` | Нейтральний до вендора псевдонім для допоміжних засобів статусу хоста пам’яті |
|
||||
| `plugin-sdk/memory-host-status` | Нейтральний до постачальника псевдонім для допоміжних засобів статусу хоста пам’яті |
|
||||
| `plugin-sdk/memory-lancedb` | Поверхня допоміжних засобів bundled memory-lancedb |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Зарезервовані підшляхи bundled-helper">
|
||||
| Сімейство | Поточні підшляхи | Призначення |
|
||||
| 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` | Допоміжні засоби підтримки Plugin bundled browser. `browser-profiles` експортує `resolveBrowserConfig`, `resolveProfile`, `ResolvedBrowserConfig`, `ResolvedBrowserProfile` і `ResolvedBrowserTabCleanupConfig` для нормалізованої форми `browser.tabCleanup`. `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` | Поверхня допоміжних засобів/runtime bundled Matrix |
|
||||
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня допоміжних засобів/runtime bundled LINE |
|
||||
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня допоміжних засобів bundled IRC |
|
||||
| Допоміжні засоби, специфічні для каналу | `plugin-sdk/googlechat`, `plugin-sdk/googlechat-runtime-shared`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu`, `plugin-sdk/feishu-conversation`, `plugin-sdk/feishu-setup`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/telegram-command-ui`, `plugin-sdk/tlon`, `plugin-sdk/twitch`, `plugin-sdk/zalo`, `plugin-sdk/zalo-setup` | Застарілі шви сумісності/допоміжних засобів bundled каналів. Нові Plugin мають імпортувати загальні підшляхи SDK або локальні barrel Plugin. |
|
||||
| Допоміжні засоби, специфічні для auth/plugin | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diagnostics-prometheus`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/memory-core`, `plugin-sdk/memory-lancedb`, `plugin-sdk/opencode`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Шви допоміжних засобів bundled можливостей/Plugin; `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` | Допоміжні засоби підтримки bundled browser plugin. `browser-profiles` експортує `resolveBrowserConfig`, `resolveProfile`, `ResolvedBrowserConfig`, `ResolvedBrowserProfile` і `ResolvedBrowserTabCleanupConfig` для нормалізованої форми `browser.tabCleanup`. `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` | Поверхня bundled Matrix helper/runtime |
|
||||
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня bundled LINE helper/runtime |
|
||||
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня bundled IRC helper |
|
||||
| Допоміжні засоби, специфічні для каналу | `plugin-sdk/googlechat`, `plugin-sdk/googlechat-runtime-shared`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu`, `plugin-sdk/feishu-conversation`, `plugin-sdk/feishu-setup`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/telegram-command-ui`, `plugin-sdk/tlon`, `plugin-sdk/twitch`, `plugin-sdk/zalo`, `plugin-sdk/zalo-setup` | Застарілі шви сумісності/допоміжних засобів bundled channel. Нові Plugin мають імпортувати загальні підшляхи SDK або локальні barrel-файли Plugin. |
|
||||
| Допоміжні засоби, специфічні для auth/plugin | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diagnostics-prometheus`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/memory-core`, `plugin-sdk/memory-lancedb`, `plugin-sdk/opencode`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Шви допоміжних засобів bundled feature/plugin; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` |
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Пов’язані матеріали
|
||||
## Пов’язане
|
||||
|
||||
- [Огляд Plugin SDK](/uk/plugins/sdk-overview)
|
||||
- [Налаштування Plugin SDK](/uk/plugins/sdk-setup)
|
||||
|
||||
@ -7,10 +7,10 @@ sidebarTitle: Testing
|
||||
summary: Утиліти та шаблони тестування для плагінів OpenClaw
|
||||
title: Тестування Plugin
|
||||
x-i18n:
|
||||
generated_at: "2026-04-28T02:31:35Z"
|
||||
generated_at: "2026-04-28T02:44:55Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 624b0ea8c50cdb8deaf275654a3ea9211fc8b1b520b596ebebc791e22453689a
|
||||
source_hash: 976d106b636ee0e18aafdd5c970dd7de4b498773e607e7b3be60b23cecadd81f
|
||||
source_path: plugins/sdk-testing.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -25,7 +25,9 @@ x-i18n:
|
||||
|
||||
## Утиліти тестування
|
||||
|
||||
**Імпорт макета API Plugin:** `openclaw/plugin-sdk/plugin-test-api`
|
||||
**Імпорт мока Plugin API:** `openclaw/plugin-sdk/plugin-test-api`
|
||||
|
||||
**Імпорт контракту runtime агента:** `openclaw/plugin-sdk/agent-runtime-test-contracts`
|
||||
|
||||
**Імпорт контракту каналу:** `openclaw/plugin-sdk/channel-contract-testing`
|
||||
|
||||
@ -35,19 +37,19 @@ x-i18n:
|
||||
|
||||
**Імпорт контракту Plugin:** `openclaw/plugin-sdk/plugin-test-contracts`
|
||||
|
||||
**Імпорт тестування середовища виконання Plugin:** `openclaw/plugin-sdk/plugin-test-runtime`
|
||||
**Імпорт runtime-тестування Plugin:** `openclaw/plugin-sdk/plugin-test-runtime`
|
||||
|
||||
**Імпорт контракту провайдера:** `openclaw/plugin-sdk/provider-test-contracts`
|
||||
|
||||
**Імпорт HTTP-макета провайдера:** `openclaw/plugin-sdk/provider-http-test-mocks`
|
||||
**Імпорт HTTP-мока провайдера:** `openclaw/plugin-sdk/provider-http-test-mocks`
|
||||
|
||||
**Імпорт тестування середовища/мережі:** `openclaw/plugin-sdk/test-env`
|
||||
|
||||
**Імпорт загальних фікстур:** `openclaw/plugin-sdk/test-fixtures`
|
||||
|
||||
**Імпорт макета вбудованого модуля Node:** `openclaw/plugin-sdk/test-node-mocks`
|
||||
**Імпорт мока вбудованого модуля Node:** `openclaw/plugin-sdk/test-node-mocks`
|
||||
|
||||
Для нових тестів плагінів віддавайте перевагу наведеним нижче сфокусованим підшляхам. Широкий barrel `openclaw/plugin-sdk/testing` призначений лише для сумісності зі застарілими рішеннями.
|
||||
Для нових тестів плагінів віддавайте перевагу наведеним нижче сфокусованим підшляхам. Широкий barrel `openclaw/plugin-sdk/testing` призначений лише для сумісності зі старими версіями.
|
||||
|
||||
```typescript
|
||||
import {
|
||||
@ -55,6 +57,7 @@ import {
|
||||
removeAckReactionAfterReply,
|
||||
} from "openclaw/plugin-sdk/channel-feedback";
|
||||
import { installCommonResolveTargetErrorCases } from "openclaw/plugin-sdk/channel-target-testing";
|
||||
import { AUTH_PROFILE_RUNTIME_CONTRACT } from "openclaw/plugin-sdk/agent-runtime-test-contracts";
|
||||
import { createTestPluginApi } from "openclaw/plugin-sdk/plugin-test-api";
|
||||
import { expectChannelInboundContextContract } from "openclaw/plugin-sdk/channel-contract-testing";
|
||||
import { createStartAccountContext } from "openclaw/plugin-sdk/channel-test-helpers";
|
||||
@ -73,77 +76,82 @@ import { mockNodeBuiltinModule } from "openclaw/plugin-sdk/test-node-mocks";
|
||||
|
||||
### Доступні експорти
|
||||
|
||||
| Експорт | Призначення |
|
||||
| ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `createTestPluginApi` | Створює мінімальний макет API плагіна для прямих unit-тестів реєстрації. Імпорт із `plugin-sdk/plugin-test-api` |
|
||||
| `expectChannelInboundContextContract` | Перевіряє форму вхідного контексту каналу. Імпорт із `plugin-sdk/channel-contract-testing` |
|
||||
| `installChannelOutboundPayloadContractSuite` | Додає набір контрактних тестів для вихідного payload каналу. Імпорт із `plugin-sdk/channel-contract-testing` |
|
||||
| `createStartAccountContext` | Створює контексти життєвого циклу облікового запису каналу. Імпорт із `plugin-sdk/channel-test-helpers` |
|
||||
| `installChannelActionsContractSuite` | Додає загальний набір контрактних тестів для дій із повідомленнями каналу. Імпорт із `plugin-sdk/channel-test-helpers` |
|
||||
| `installChannelSetupContractSuite` | Додає загальний набір контрактних тестів для налаштування каналу. Імпорт із `plugin-sdk/channel-test-helpers` |
|
||||
| `installChannelStatusContractSuite` | Додає загальний набір контрактних тестів для стану каналу. Імпорт із `plugin-sdk/channel-test-helpers` |
|
||||
| `expectDirectoryIds` | Перевіряє id каталогу з функції списку каталогів. Імпорт із `plugin-sdk/channel-test-helpers` |
|
||||
| `assertBundledChannelEntries` | Перевіряє, що точки входу вбудованого каналу надають очікуваний публічний контракт. Імпорт із `plugin-sdk/channel-test-helpers` |
|
||||
| `formatEnvelopeTimestamp` | Форматує детерміновані часові мітки envelope. Імпорт із `plugin-sdk/channel-test-helpers` |
|
||||
| `expectPairingReplyText` | Перевіряє текст відповіді для pairing каналу та витягує його код. Імпорт із `plugin-sdk/channel-test-helpers` |
|
||||
| `describePluginRegistrationContract` | Додає перевірки контракту реєстрації Plugin. Імпорт із `plugin-sdk/plugin-test-contracts` |
|
||||
| `registerSingleProviderPlugin` | Реєструє один плагін провайдера в smoke-тестах завантажувача. Імпорт із `plugin-sdk/plugin-test-runtime` |
|
||||
| `registerProviderPlugin` | Захоплює всі типи провайдерів з одного плагіна. Імпорт із `plugin-sdk/plugin-test-runtime` |
|
||||
| `registerProviderPlugins` | Захоплює реєстрації провайдерів у кількох плагінах. Імпорт із `plugin-sdk/plugin-test-runtime` |
|
||||
| `requireRegisteredProvider` | Перевіряє, що колекція провайдерів містить id. Імпорт із `plugin-sdk/plugin-test-runtime` |
|
||||
| `createRuntimeEnv` | Створює макетоване середовище виконання CLI/плагіна. Імпорт із `plugin-sdk/plugin-test-runtime` |
|
||||
| `createPluginSetupWizardStatus` | Створює допоміжні засоби стану майстра налаштування для плагінів каналів. Імпорт із `plugin-sdk/plugin-test-runtime` |
|
||||
| `describeOpenAIProviderRuntimeContract` | Додає перевірки контракту середовища виконання для сімейства провайдерів. Імпорт із `plugin-sdk/provider-test-contracts` |
|
||||
| `expectPassthroughReplayPolicy` | Перевіряє, що політики повторного відтворення провайдера пропускають інструменти та метадані, які належать провайдеру. Імпорт із `plugin-sdk/provider-test-contracts` |
|
||||
| `runRealtimeSttLiveTest` | Запускає live-тест провайдера realtime STT зі спільними аудіофікстурами. Імпорт із `plugin-sdk/provider-test-contracts` |
|
||||
| `normalizeTranscriptForMatch` | Нормалізує вивід live-транскрипту перед нечіткими перевірками. Імпорт із `plugin-sdk/provider-test-contracts` |
|
||||
| `expectExplicitVideoGenerationCapabilities` | Перевіряє, що відеопровайдери явно оголошують можливості режиму генерації. Імпорт із `plugin-sdk/provider-test-contracts` |
|
||||
| `expectExplicitMusicGenerationCapabilities` | Перевіряє, що музичні провайдери явно оголошують можливості генерації/редагування. Імпорт із `plugin-sdk/provider-test-contracts` |
|
||||
| `mockSuccessfulDashscopeVideoTask` | Додає відповідь успішного відеозавдання, сумісного з DashScope. Імпорт із `plugin-sdk/provider-test-contracts` |
|
||||
| `getProviderHttpMocks` | Надає доступ до opt-in макетів Vitest для HTTP/auth провайдера. Імпорт із `plugin-sdk/provider-http-test-mocks` |
|
||||
| `installProviderHttpMockCleanup` | Скидає HTTP/auth-макети провайдера після кожного тесту. Імпорт із `plugin-sdk/provider-http-test-mocks` |
|
||||
| `installCommonResolveTargetErrorCases` | Спільні тестові випадки для обробки помилок розв’язання цілі. Імпорт із `plugin-sdk/channel-target-testing` |
|
||||
| `shouldAckReaction` | Перевіряє, чи має канал додати ack-реакцію. Імпорт із `plugin-sdk/channel-feedback` |
|
||||
| `removeAckReactionAfterReply` | Видаляє ack-реакцію після доставки відповіді. Імпорт із `plugin-sdk/channel-feedback` |
|
||||
| `createTestRegistry` | Створює фікстуру реєстру плагінів каналу. Імпорт із `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
|
||||
| `createEmptyPluginRegistry` | Створює порожню фікстуру реєстру плагінів. Імпорт із `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
|
||||
| `setActivePluginRegistry` | Встановлює фікстуру реєстру для runtime-тестів плагіна. Імпорт із `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
|
||||
| `createRequestCaptureJsonFetch` | Захоплює JSON-запити fetch у тестах медіадопоміжних засобів. Імпорт із `plugin-sdk/test-env` |
|
||||
| `withServer` | Запускає тести з тимчасовим локальним HTTP-сервером. Імпорт із `plugin-sdk/test-env` |
|
||||
| `createMockIncomingRequest` | Створює мінімальний об’єкт вхідного HTTP-запиту. Імпорт із `plugin-sdk/test-env` |
|
||||
| `withFetchPreconnect` | Запускає fetch-тести зі встановленими preconnect-хуками. Імпорт із `plugin-sdk/test-env` |
|
||||
| `withEnv` / `withEnvAsync` | Тимчасово змінює змінні середовища. Імпорт із `plugin-sdk/test-env` |
|
||||
| `createTempHomeEnv` / `withTempHome` / `withTempDir` | Створює ізольовані фікстури файлової системи для тестів. Імпорт із `plugin-sdk/test-env` |
|
||||
| `createMockServerResponse` | Створює мінімальний макет відповіді HTTP-сервера. Імпорт із `plugin-sdk/test-env` |
|
||||
| `createCliRuntimeCapture` | Захоплює вивід середовища виконання CLI у тестах. Імпорт із `plugin-sdk/test-fixtures` |
|
||||
| `importFreshModule` | Імпортує модуль ESM зі свіжим query-token, щоб обійти кеш модуля. Імпорт із `plugin-sdk/test-fixtures` |
|
||||
| `bundledPluginRoot` / `bundledPluginFile` | Визначає шляхи до фікстур вихідного коду або dist вбудованого плагіна. Імпорт із `plugin-sdk/test-fixtures` |
|
||||
| `mockNodeBuiltinModule` | Встановлює вузькі макети Vitest для вбудованих модулів Node. Імпорт із `plugin-sdk/test-node-mocks` |
|
||||
| `createSandboxTestContext` | Створює тестові контексти sandbox. Імпорт із `plugin-sdk/test-fixtures` |
|
||||
| `writeSkill` | Записує фікстури Skills. Імпорт із `plugin-sdk/test-fixtures` |
|
||||
| `makeAgentAssistantMessage` | Створює фікстури повідомлень транскрипту агента. Імпорт із `plugin-sdk/test-fixtures` |
|
||||
| `peekSystemEvents` / `resetSystemEventsForTest` | Переглядає та скидає фікстури системних подій. Імпорт із `plugin-sdk/test-fixtures` |
|
||||
| `sanitizeTerminalText` | Очищає текст термінала для перевірок. Імпорт із `plugin-sdk/test-fixtures` |
|
||||
| `countLines` / `hasBalancedFences` | Перевіряє форму chunking-виводу. Імпорт із `plugin-sdk/test-fixtures` |
|
||||
| `runProviderCatalog` | Виконує хук каталогу провайдера з тестовими залежностями |
|
||||
| `resolveProviderWizardOptions` | Визначає варіанти майстра налаштування провайдера в контрактних тестах |
|
||||
| `resolveProviderModelPickerEntries` | Визначає елементи вибору моделей провайдера в контрактних тестах |
|
||||
| `buildProviderPluginMethodChoice` | Створює id варіантів майстра провайдера для перевірок |
|
||||
| `setProviderWizardProvidersResolverForTest` | Інжектує провайдери майстра для ізольованих тестів |
|
||||
| `createProviderUsageFetch` | Створює фікстури fetch використання провайдера |
|
||||
| `useFrozenTime` / `useRealTime` | Заморожує та відновлює таймери для чутливих до часу тестів. Імпорт із `plugin-sdk/test-env` |
|
||||
| `createTestWizardPrompter` | Створює макетований prompter майстра налаштування |
|
||||
| `createRuntimeTaskFlow` | Створює ізольований стан runtime TaskFlow |
|
||||
| `typedCases` | Зберігає літеральні типи для таблично-керованих тестів. Імпорт із `plugin-sdk/test-fixtures` |
|
||||
| Експорт | Призначення |
|
||||
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `createTestPluginApi` | Створює мінімальний мок Plugin API для прямих unit-тестів реєстрації. Імпортуйте з `plugin-sdk/plugin-test-api` |
|
||||
| `AUTH_PROFILE_RUNTIME_CONTRACT` | Спільна фікстура контракту профілю автентифікації для нативних адаптерів runtime агента. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
|
||||
| `DELIVERY_NO_REPLY_RUNTIME_CONTRACT` | Спільна фікстура контракту придушення доставки для нативних адаптерів runtime агента. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
|
||||
| `OUTCOME_FALLBACK_RUNTIME_CONTRACT` | Спільна фікстура контракту класифікації fallback для нативних адаптерів runtime агента. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
|
||||
| `createParameterFreeTool` | Створює фікстури схеми dynamic-tool для контрактних тестів нативного runtime. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
|
||||
| `expectChannelInboundContextContract` | Перевіряє форму вхідного контексту каналу. Імпортуйте з `plugin-sdk/channel-contract-testing` |
|
||||
| `installChannelOutboundPayloadContractSuite` | Встановлює набір випадків контракту вихідного payload каналу. Імпортуйте з `plugin-sdk/channel-contract-testing` |
|
||||
| `createStartAccountContext` | Створює контексти життєвого циклу облікового запису каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
|
||||
| `installChannelActionsContractSuite` | Встановлює загальний набір випадків контракту дій повідомлень каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
|
||||
| `installChannelSetupContractSuite` | Встановлює загальний набір випадків контракту налаштування каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
|
||||
| `installChannelStatusContractSuite` | Встановлює загальний набір випадків контракту статусу каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
|
||||
| `expectDirectoryIds` | Перевіряє id каталогів із функції переліку каталогів. Імпортуйте з `plugin-sdk/channel-test-helpers` |
|
||||
| `assertBundledChannelEntries` | Перевіряє, що entrypoint-и вбудованих каналів надають очікуваний публічний контракт. Імпортуйте з `plugin-sdk/channel-test-helpers` |
|
||||
| `formatEnvelopeTimestamp` | Форматує детерміновані часові мітки envelope. Імпортуйте з `plugin-sdk/channel-test-helpers` |
|
||||
| `expectPairingReplyText` | Перевіряє текст відповіді спарювання та витягує його код. Імпортуйте з `plugin-sdk/channel-test-helpers` |
|
||||
| `describePluginRegistrationContract` | Встановлює перевірки контракту реєстрації Plugin. Імпортуйте з `plugin-sdk/plugin-test-contracts` |
|
||||
| `registerSingleProviderPlugin` | Реєструє один provider Plugin у smoke-тестах завантажувача. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
|
||||
| `registerProviderPlugin` | Захоплює всі типи провайдерів з одного Plugin. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
|
||||
| `registerProviderPlugins` | Захоплює реєстрації провайдерів у кількох Plugin. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
|
||||
| `requireRegisteredProvider` | Перевіряє, що колекція провайдерів містить id. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
|
||||
| `createRuntimeEnv` | Створює змокане середовище runtime CLI/Plugin. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
|
||||
| `createPluginSetupWizardStatus` | Створює допоміжні засоби статусу налаштування для плагінів каналів. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
|
||||
| `describeOpenAIProviderRuntimeContract` | Встановлює перевірки контракту runtime для сімейства провайдерів. Імпортуйте з `plugin-sdk/provider-test-contracts` |
|
||||
| `expectPassthroughReplayPolicy` | Перевіряє, що політики повторного відтворення провайдера пропускають через себе інструменти та метадані, якими володіє провайдер. Імпортуйте з `plugin-sdk/provider-test-contracts` |
|
||||
| `runRealtimeSttLiveTest` | Запускає live-тест realtime STT провайдера зі спільними аудіофікстурами. Імпортуйте з `plugin-sdk/provider-test-contracts` |
|
||||
| `normalizeTranscriptForMatch` | Нормалізує вивід live-транскрипту перед нечіткими перевірками. Імпортуйте з `plugin-sdk/provider-test-contracts` |
|
||||
| `expectExplicitVideoGenerationCapabilities` | Перевіряє, що відеопровайдери оголошують явні можливості режимів генерації. Імпортуйте з `plugin-sdk/provider-test-contracts` |
|
||||
| `expectExplicitMusicGenerationCapabilities` | Перевіряє, що музичні провайдери оголошують явні можливості генерації/редагування. Імпортуйте з `plugin-sdk/provider-test-contracts` |
|
||||
| `mockSuccessfulDashscopeVideoTask` | Встановлює успішну відповідь задачі відео, сумісну з DashScope. Імпортуйте з `plugin-sdk/provider-test-contracts` |
|
||||
| `getProviderHttpMocks` | Надає доступ до opt-in моків HTTP/автентифікації провайдера для Vitest. Імпортуйте з `plugin-sdk/provider-http-test-mocks` |
|
||||
| `installProviderHttpMockCleanup` | Скидає моки HTTP/автентифікації провайдера після кожного тесту. Імпортуйте з `plugin-sdk/provider-http-test-mocks` |
|
||||
| `installCommonResolveTargetErrorCases` | Спільні тестові випадки для обробки помилок визначення цілі. Імпортуйте з `plugin-sdk/channel-target-testing` |
|
||||
| `shouldAckReaction` | Перевіряє, чи має канал додати реакцію-підтвердження. Імпортуйте з `plugin-sdk/channel-feedback` |
|
||||
| `removeAckReactionAfterReply` | Видаляє реакцію-підтвердження після доставки відповіді. Імпортуйте з `plugin-sdk/channel-feedback` |
|
||||
| `createTestRegistry` | Створює фікстуру реєстру плагінів каналу. Імпортуйте з `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
|
||||
| `createEmptyPluginRegistry` | Створює порожню фікстуру реєстру Plugin. Імпортуйте з `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
|
||||
| `setActivePluginRegistry` | Встановлює фікстуру реєстру для тестів runtime Plugin. Імпортуйте з `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
|
||||
| `createRequestCaptureJsonFetch` | Захоплює JSON-запити fetch у тестах допоміжних засобів медіа. Імпортуйте з `plugin-sdk/test-env` |
|
||||
| `withServer` | Запускає тести з одноразовим локальним HTTP-сервером. Імпортуйте з `plugin-sdk/test-env` |
|
||||
| `createMockIncomingRequest` | Створює мінімальний об’єкт вхідного HTTP-запиту. Імпортуйте з `plugin-sdk/test-env` |
|
||||
| `withFetchPreconnect` | Запускає тести fetch із встановленими хуками preconnect. Імпортуйте з `plugin-sdk/test-env` |
|
||||
| `withEnv` / `withEnvAsync` | Тимчасово змінює змінні середовища. Імпортуйте з `plugin-sdk/test-env` |
|
||||
| `createTempHomeEnv` / `withTempHome` / `withTempDir` | Створює ізольовані файлові тестові фікстури. Імпортуйте з `plugin-sdk/test-env` |
|
||||
| `createMockServerResponse` | Створює мінімальний мок відповіді HTTP-сервера. Імпортуйте з `plugin-sdk/test-env` |
|
||||
| `createCliRuntimeCapture` | Захоплює вивід runtime CLI у тестах. Імпортуйте з `plugin-sdk/test-fixtures` |
|
||||
| `importFreshModule` | Імпортує модуль ESM зі свіжим query-токеном для обходу кешу модулів. Імпортуйте з `plugin-sdk/test-fixtures` |
|
||||
| `bundledPluginRoot` / `bundledPluginFile` | Визначає шляхи до фікстур source або dist вбудованого Plugin. Імпортуйте з `plugin-sdk/test-fixtures` |
|
||||
| `mockNodeBuiltinModule` | Встановлює вузькі моки вбудованих модулів Node для Vitest. Імпортуйте з `plugin-sdk/test-node-mocks` |
|
||||
| `createSandboxTestContext` | Створює тестові контексти sandbox. Імпортуйте з `plugin-sdk/test-fixtures` |
|
||||
| `writeSkill` | Записує фікстури Skills. Імпортуйте з `plugin-sdk/test-fixtures` |
|
||||
| `makeAgentAssistantMessage` | Створює фікстури повідомлень транскрипту агента. Імпортуйте з `plugin-sdk/test-fixtures` |
|
||||
| `peekSystemEvents` / `resetSystemEventsForTest` | Переглядає та скидає фікстури системних подій. Імпортуйте з `plugin-sdk/test-fixtures` |
|
||||
| `sanitizeTerminalText` | Очищає текст термінала для перевірок. Імпортуйте з `plugin-sdk/test-fixtures` |
|
||||
| `countLines` / `hasBalancedFences` | Перевіряє форму виводу з розбиттям на частини. Імпортуйте з `plugin-sdk/test-fixtures` |
|
||||
| `runProviderCatalog` | Виконує хук каталогу провайдера з тестовими залежностями |
|
||||
| `resolveProviderWizardOptions` | Визначає варіанти майстра налаштування провайдера в контрактних тестах |
|
||||
| `resolveProviderModelPickerEntries` | Визначає записи вибору моделі провайдера в контрактних тестах |
|
||||
| `buildProviderPluginMethodChoice` | Створює id варіантів майстра провайдера для перевірок |
|
||||
| `setProviderWizardProvidersResolverForTest` | Інжектує провайдерів майстра провайдера для ізольованих тестів |
|
||||
| `createProviderUsageFetch` | Створює фікстури fetch для використання провайдера |
|
||||
| `useFrozenTime` / `useRealTime` | Заморожує та відновлює таймери для тестів, чутливих до часу. Імпортуйте з `plugin-sdk/test-env` |
|
||||
| `createTestWizardPrompter` | Створює змоканий prompter майстра налаштування |
|
||||
| `createRuntimeTaskFlow` | Створює ізольований стан runtime TaskFlow |
|
||||
| `typedCases` | Зберігає літеральні типи для таблично-орієнтованих тестів. Імпортуйте з `plugin-sdk/test-fixtures` |
|
||||
|
||||
Набори контрактних тестів для вбудованих плагінів також використовують підшляхи тестування SDK для допоміжних засобів тестування лише для тестів: реєстру, маніфесту, публічних артефактів і runtime-фікстур. Набори, призначені лише для core і залежні від вбудованого inventory OpenClaw, залишаються в `src/plugins/contracts`.
|
||||
Тримайте нові тести розширень на задокументованому сфокусованому підшляху SDK, наприклад
|
||||
Набори контрактних тестів вбудованих плагінів також використовують підшляхи SDK для тестування для допоміжних засобів фікстур реєстру, маніфесту, публічних артефактів і runtime, призначених лише для тестів. Набори лише для core, які залежать від інвентарю вбудованого OpenClaw, залишаються в `src/plugins/contracts`.
|
||||
Тримайте нові тести розширень на документованому сфокусованому підшляху SDK, наприклад
|
||||
`plugin-sdk/plugin-test-api`, `plugin-sdk/channel-contract-testing`,
|
||||
`plugin-sdk/channel-test-helpers`, `plugin-sdk/plugin-test-contracts`,
|
||||
`plugin-sdk/plugin-test-runtime`, `plugin-sdk/provider-test-contracts`,
|
||||
`plugin-sdk/provider-http-test-mocks`, `plugin-sdk/test-env` або
|
||||
`plugin-sdk/test-fixtures`, замість імпорту широкого compatibility barrel
|
||||
`plugin-sdk/testing`, файлів репозиторію `src/**` або напряму мостів репозиторію `test/helpers/plugins/*`.
|
||||
`plugin-sdk/agent-runtime-test-contracts`, `plugin-sdk/channel-test-helpers`,
|
||||
`plugin-sdk/plugin-test-contracts`, `plugin-sdk/plugin-test-runtime`,
|
||||
`plugin-sdk/provider-test-contracts`, `plugin-sdk/provider-http-test-mocks`,
|
||||
`plugin-sdk/test-env` або `plugin-sdk/test-fixtures`, замість імпорту з
|
||||
широкого сумісного barrel `plugin-sdk/testing`, файлів репозиторію `src/**` або мостів
|
||||
репозиторію `test/helpers/*` напряму.
|
||||
|
||||
### Типи
|
||||
|
||||
@ -158,9 +166,10 @@ import type { OpenClawConfig } from "openclaw/plugin-sdk/config-types";
|
||||
import type { MockFn, PluginRuntime, RuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime";
|
||||
```
|
||||
|
||||
## Тестування розв’язання цілі
|
||||
## Тестування визначення цілі
|
||||
|
||||
Використовуйте `installCommonResolveTargetErrorCases`, щоб додати стандартні випадки помилок для розв’язання цілі каналу:
|
||||
Використовуйте `installCommonResolveTargetErrorCases`, щоб додати стандартні випадки помилок для
|
||||
визначення цілі каналу:
|
||||
|
||||
```typescript
|
||||
import { describe } from "vitest";
|
||||
@ -169,13 +178,13 @@ import { installCommonResolveTargetErrorCases } from "openclaw/plugin-sdk/channe
|
||||
describe("my-channel target resolution", () => {
|
||||
installCommonResolveTargetErrorCases({
|
||||
resolveTarget: ({ to, mode, allowFrom }) => {
|
||||
// Логіка розв’язання цілі вашого каналу
|
||||
// Your channel's target resolution logic
|
||||
return myChannelResolveTarget({ to, mode, allowFrom });
|
||||
},
|
||||
implicitAllowFrom: ["user1", "user2"],
|
||||
});
|
||||
|
||||
// Додайте специфічні для каналу тестові випадки
|
||||
// Add channel-specific test cases
|
||||
it("should resolve @username targets", () => {
|
||||
// ...
|
||||
});
|
||||
@ -186,18 +195,24 @@ describe("my-channel target resolution", () => {
|
||||
|
||||
### Тестування контрактів реєстрації
|
||||
|
||||
Unit-тести, які передають власноруч написаний макет `api` до `register(api)`, не перевіряють acceptance gates завантажувача OpenClaw. Додайте щонайменше один smoke-тест із підтримкою завантажувача для кожної поверхні реєстрації, від якої залежить ваш плагін, особливо для хуків і ексклюзивних можливостей, таких як пам’ять.
|
||||
Unit-тести, які передають написаний вручну мок `api` у `register(api)`, не перевіряють
|
||||
гейти приймання завантажувача OpenClaw. Додайте принаймні один smoke-тест із підтримкою loader
|
||||
для кожної поверхні реєстрації, від якої залежить ваш плагін, особливо для hook-ів і
|
||||
ексклюзивних можливостей, таких як пам’ять.
|
||||
|
||||
Реальний завантажувач відхиляє реєстрацію плагіна, якщо бракує обов’язкових метаданих або якщо плагін викликає API можливості, якою він не володіє. Наприклад,
|
||||
`api.registerHook(...)` вимагає ім’я хука, а
|
||||
`api.registerMemoryCapability(...)` вимагає, щоб маніфест плагіна або експортована точка входу оголошували `kind: "memory"`.
|
||||
Справжній loader не дає зареєструвати плагін, якщо відсутні потрібні метадані або якщо
|
||||
плагін викликає API можливостей, якими він не володіє. Наприклад,
|
||||
`api.registerHook(...)` вимагає ім’я hook-а, а
|
||||
`api.registerMemoryCapability(...)` вимагає, щоб маніфест плагіна або експортований
|
||||
entry оголошував `kind: "memory"`.
|
||||
|
||||
### Тестування доступу до конфігурації runtime
|
||||
|
||||
Під час тестування вбудованих плагінів каналів віддавайте перевагу спільному макету runtime плагіна з `openclaw/plugin-sdk/channel-test-helpers`.
|
||||
Його застарілі макети `runtime.config.loadConfig()` і
|
||||
`runtime.config.writeConfigFile(...)` за замовчуванням генерують помилку, щоб тести виявляли нове використання compatibility API. Перевизначайте ці макети лише тоді, коли тест
|
||||
явно покриває застарілу behavior сумісності.
|
||||
Віддавайте перевагу спільному моку runtime плагіна з `openclaw/plugin-sdk/channel-test-helpers`
|
||||
під час тестування вбудованих плагінів каналів. Його застарілі моки `runtime.config.loadConfig()` і
|
||||
`runtime.config.writeConfigFile(...)` за замовчуванням викидають помилки, щоб тести виявляли нове
|
||||
використання API сумісності. Перевизначайте ці моки лише тоді, коли тест
|
||||
явно покриває застарілу поведінку сумісності.
|
||||
|
||||
### Unit-тестування плагіна каналу
|
||||
|
||||
@ -229,7 +244,7 @@ describe("my-channel plugin", () => {
|
||||
const inspection = myPlugin.setup.inspectAccount(cfg, undefined);
|
||||
expect(inspection.configured).toBe(true);
|
||||
expect(inspection.tokenStatus).toBe("available");
|
||||
// Значення токена не розкривається
|
||||
// No token value exposed
|
||||
expect(inspection).not.toHaveProperty("token");
|
||||
});
|
||||
});
|
||||
@ -244,7 +259,7 @@ describe("my-provider plugin", () => {
|
||||
it("should resolve dynamic models", () => {
|
||||
const model = myProvider.resolveDynamicModel({
|
||||
modelId: "custom-model-v2",
|
||||
// ... контекст
|
||||
// ... context
|
||||
});
|
||||
|
||||
expect(model.id).toBe("custom-model-v2");
|
||||
@ -255,7 +270,7 @@ describe("my-provider plugin", () => {
|
||||
it("should return catalog when API key is available", async () => {
|
||||
const result = await myProvider.catalog.run({
|
||||
resolveProviderApiKey: () => ({ apiKey: "test-key" }),
|
||||
// ... контекст
|
||||
// ... context
|
||||
});
|
||||
|
||||
expect(result?.provider?.models).toHaveLength(2);
|
||||
@ -263,9 +278,9 @@ describe("my-provider plugin", () => {
|
||||
});
|
||||
```
|
||||
|
||||
### Макетування runtime плагіна
|
||||
### Мокання runtime плагіна
|
||||
|
||||
Для коду, який використовує `createPluginRuntimeStore`, макетуйте runtime у тестах:
|
||||
Для коду, який використовує `createPluginRuntimeStore`, мокуйте runtime у тестах:
|
||||
|
||||
```typescript
|
||||
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
|
||||
@ -276,42 +291,42 @@ const store = createPluginRuntimeStore<PluginRuntime>({
|
||||
errorMessage: "test runtime not set",
|
||||
});
|
||||
|
||||
// У налаштуванні тесту
|
||||
// In test setup
|
||||
const mockRuntime = {
|
||||
agent: {
|
||||
resolveAgentDir: vi.fn().mockReturnValue("/tmp/agent"),
|
||||
// ... інші макети
|
||||
// ... other mocks
|
||||
},
|
||||
config: {
|
||||
current: vi.fn(() => ({}) as const),
|
||||
mutateConfigFile: vi.fn(),
|
||||
replaceConfigFile: vi.fn(),
|
||||
},
|
||||
// ... інші простори імен
|
||||
// ... other namespaces
|
||||
} as unknown as PluginRuntime;
|
||||
|
||||
store.setRuntime(mockRuntime);
|
||||
|
||||
// Після тестів
|
||||
// After tests
|
||||
store.clearRuntime();
|
||||
```
|
||||
|
||||
### Тестування з per-instance stubs
|
||||
### Тестування з per-instance stub-ами
|
||||
|
||||
Віддавайте перевагу per-instance stubs замість мутації прототипу:
|
||||
Віддавайте перевагу per-instance stub-ам замість мутації прототипу:
|
||||
|
||||
```typescript
|
||||
// Рекомендовано: per-instance stub
|
||||
// Preferred: per-instance stub
|
||||
const client = new MyChannelClient();
|
||||
client.sendMessage = vi.fn().mockResolvedValue({ id: "msg-1" });
|
||||
|
||||
// Уникайте: мутація прототипу
|
||||
// Avoid: prototype mutation
|
||||
// MyChannelClient.prototype.sendMessage = vi.fn();
|
||||
```
|
||||
|
||||
## Контрактні тести (плагіни в репозиторії)
|
||||
|
||||
Вбудовані плагіни мають контрактні тести, які перевіряють право власності на реєстрацію:
|
||||
Вбудовані плагіни мають контрактні тести, які перевіряють володіння реєстрацією:
|
||||
|
||||
```bash
|
||||
pnpm test -- src/plugins/contracts/
|
||||
@ -320,7 +335,7 @@ pnpm test -- src/plugins/contracts/
|
||||
Ці тести перевіряють:
|
||||
|
||||
- Які плагіни реєструють які провайдери
|
||||
- Які плагіни реєструють які speech-провайдери
|
||||
- Які плагіни реєструють які мовленнєві провайдери
|
||||
- Коректність форми реєстрації
|
||||
- Відповідність контракту runtime
|
||||
|
||||
@ -342,30 +357,30 @@ pnpm test -- src/plugins/contracts/runtime.contract.test.ts
|
||||
|
||||
## Примусове застосування lint (плагіни в репозиторії)
|
||||
|
||||
Три правила примусово перевіряються через `pnpm check` для плагінів у репозиторії:
|
||||
Три правила примусово застосовуються через `pnpm check` для плагінів у репозиторії:
|
||||
|
||||
1. **Без монолітних імпортів із root** -- root barrel `openclaw/plugin-sdk` відхиляється
|
||||
2. **Без прямих імпортів із `src/`** -- плагіни не можуть напряму імпортувати `../../src/`
|
||||
3. **Без self-imports** -- плагіни не можуть імпортувати власний підшлях `plugin-sdk/<name>`
|
||||
1. **Без монолітних імпортів із кореня** -- кореневий barrel `openclaw/plugin-sdk` відхиляється
|
||||
2. **Без прямих імпортів `src/`** -- плагіни не можуть імпортувати `../../src/` напряму
|
||||
3. **Без самоімпортів** -- плагіни не можуть імпортувати власний підшлях `plugin-sdk/<name>`
|
||||
|
||||
На зовнішні плагіни ці правила lint не поширюються, але дотримуватися тих самих
|
||||
Зовнішні плагіни не підпадають під ці lint-правила, але дотримуватися тих самих
|
||||
шаблонів рекомендується.
|
||||
|
||||
## Конфігурація тестів
|
||||
## Конфігурація тестування
|
||||
|
||||
OpenClaw використовує Vitest із порогами покриття V8. Для тестів плагінів:
|
||||
|
||||
```bash
|
||||
# Запустити всі тести
|
||||
# Run all tests
|
||||
pnpm test
|
||||
|
||||
# Запустити тести конкретного плагіна
|
||||
# Run specific plugin tests
|
||||
pnpm test -- <bundled-plugin-root>/my-channel/src/channel.test.ts
|
||||
|
||||
# Запустити з фільтром за конкретною назвою тесту
|
||||
# Run with a specific test name filter
|
||||
pnpm test -- <bundled-plugin-root>/my-channel/ -t "resolves account"
|
||||
|
||||
# Запустити з покриттям
|
||||
# Run with coverage
|
||||
pnpm test:coverage
|
||||
```
|
||||
|
||||
@ -379,5 +394,5 @@ OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test
|
||||
|
||||
- [Огляд SDK](/uk/plugins/sdk-overview) -- правила імпорту
|
||||
- [Плагіни каналів SDK](/uk/plugins/sdk-channel-plugins) -- інтерфейс плагіна каналу
|
||||
- [Плагіни провайдерів SDK](/uk/plugins/sdk-provider-plugins) -- хуки плагіна провайдера
|
||||
- [Плагіни провайдерів SDK](/uk/plugins/sdk-provider-plugins) -- hook-и плагіна провайдера
|
||||
- [Створення плагінів](/uk/plugins/building-plugins) -- посібник для початку роботи
|
||||
|
||||
Loading…
Reference in New Issue
Block a user