openclaw/extensions
Peter Steinberger 708632c451
perf: stop provider policy loads from compiling the transport graph (#129652)
* perf(plugins): keep provider policy artifacts on leaf module graphs

Provider policy artifacts (provider-policy-api.js) load eagerly whenever a
provider is resolved, but five of them imported the provider-model-shared
barrel at runtime, dragging the transports/compat/state graph into every
policy load. In contexts without a native TS require hook (Vitest workers,
non-tsx source runs) jiti compiled that whole graph: ~65s of event-loop
starvation on the first embedded run, which is what pushed
run.session-permissions.test.ts past its 120s timeout before #129582.

Add openclaw/plugin-sdk/claude-model-runtime, a narrow family-level and
local-only subpath re-exporting the Claude identity/thinking helpers from
their leaf owners (@openclaw/llm-core, plugins/provider-claude-thinking).
Switch anthropic, anthropic-vertex, and opencode policy artifacts to it, and
amazon-bedrock plus ollama to the already-plugin-visible
@openclaw/model-catalog-core leaves. The barrel keeps re-exporting the same
symbols, so no existing consumer changes.

Measured on the embedded-runner host route (first run, Vitest worker):
65540ms -> 6627ms; jiti self-time 23.4s -> 1.3s, statSync 18.6s -> 0.7s.
run.shared-integration.test.ts drops from 167s to 65s as a side effect.

Also pin run.inherited-auth-owner.test.ts to the mocked plugin-harness route
(its assertions are provider-agnostic; 37.6s -> sub-second test time) and
document the no-provider default-route trap on overflowBaseRunParams.

Follow-up to #129582.

* chore(plugins): register claude-model-runtime boundary aliases

The extension package boundary contract requires every local-only plugin-sdk
entrypoint to carry a d.ts path alias in the shared boundary map and xai's
derived override set; CI's contracts-plugin lane caught the missing entries.

* chore(release): exclude claude-model-runtime declarations from the pack

Local-only plugin-sdk entrypoints ship runtime .js only; the release check
derives the required pack exclusion from the local-only registry and CI's
core-tooling lane caught the missing package.json files entry.

* test(agents): assert the mocked harness route in auth-owner proof

ClawSweeper P2: without the agentHarnessId assertion a silent fall-back to
the built-in host harness would still pass the auth-owner assertions while
proving the wrong route; fail loudly like run.session-permissions.test.ts.
2026-08-26 00:39:38 -07:00
..
acpx fix(webhooks): keep TaskFlow child actions within the owning session (#129633) 2026-08-25 23:13:50 -07:00
active-memory test: move trigger threshold proof to owner boundary (#129634) 2026-08-25 15:07:55 -07:00
admin-http-rpc refactor(security): consolidate plugin JSON body reading onto canonical bounded reader (#124944) 2026-08-16 22:01:34 -07:00
alibaba test(extensions): close cached agent databases before removing fixture state dirs (#126352) 2026-08-21 07:22:57 -07:00
amazon-bedrock perf: stop provider policy loads from compiling the transport graph (#129652) 2026-08-26 00:39:38 -07:00
amazon-bedrock-mantle chore: refresh dependencies after seven-day cooldown (#128414) 2026-08-24 03:01:54 -07:00
anthropic perf: stop provider policy loads from compiling the transport graph (#129652) 2026-08-26 00:39:38 -07:00
anthropic-vertex perf: stop provider policy loads from compiling the transport graph (#129652) 2026-08-26 00:39:38 -07:00
arcee fix(onboard): keep OpenRouter API keys with their provider (#126578) 2026-08-20 00:35:27 -07:00
azure-speech test(azure-speech): make voices timeout proof deterministic (#124694) 2026-08-16 09:55:23 -07:00
baseten feat(lint): enforce import ordering and deduplication (#124730) 2026-08-16 11:44:52 -07:00
beam fix: keep session catalog mirroring within isolated profiles (#129638) 2026-08-25 17:31:38 -07:00
bonjour chore: refresh dependencies after seven-day cooldown (#128414) 2026-08-24 03:01:54 -07:00
brave refactor(brave): simplify private search request ownership (#129896) 2026-08-25 23:16:27 -07:00
browser fix(browser): enforce download deadlines through atomic save (#129899) 2026-08-25 22:40:27 -07:00
buzz fix(buzz): messages sent during Gateway downtime are dropped after restart (#117259) 2026-08-25 17:39:30 -07:00
byteplus feat(lint): enforce import ordering and deduplication (#124730) 2026-08-16 11:44:52 -07:00
canvas chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
cerebras
chutes feat(lint): enforce import ordering and deduplication (#124730) 2026-08-16 11:44:52 -07:00
clawrouter
clickclack fix(channels): honor supported group history limits (#129710) 2026-08-25 18:23:07 -07:00
cloudflare-ai-gateway test: remove duplicate Cloudflare wrapper coverage (#129530) 2026-08-25 12:43:24 -07:00
codex fix(codex): keep /codex model scoped to the native binding (#128751) 2026-08-25 23:26:40 -07:00
cohere
comfy fix(comfy): forward req.timeoutMs in music generation (#123444) 2026-08-21 03:46:42 -07:00
copilot fix(skills): fork the foreground session for lean experience review (#129282) 2026-08-25 20:27:25 +05:30
copilot-proxy
crabbox refactor(workers): unify cloud bootstrap lifecycle (#129719) 2026-08-25 20:11:33 -07:00
cua-computer chore: refresh dependencies after seven-day cooldown (#128414) 2026-08-24 03:01:54 -07:00
deepgram
deepinfra fix(memory): partition Mistral and DeepInfra embedding caches (#129669) 2026-08-25 16:44:21 -07:00
deepseek
device-pair test(extensions): close cached agent databases before removing fixture state dirs (#126352) 2026-08-21 07:22:57 -07:00
diagnostics-otel test(plugins): deduplicate provider fixtures (#129072) 2026-08-25 01:39:08 -07:00
diagnostics-prometheus feat(lint): enforce import ordering and deduplication (#124730) 2026-08-16 11:44:52 -07:00
diffs fix(package): restore npm package size headroom (#129782) 2026-08-26 12:40:27 +08:00
diffs-language-pack fix(package): restore npm package size headroom (#129782) 2026-08-26 12:40:27 +08:00
discord fix(discord): preserve sticker delivery receipts (#129872) 2026-08-25 22:06:16 -07:00
document-extract chore: refresh dependencies after seven-day cooldown (#128414) 2026-08-24 03:01:54 -07:00
duckduckgo
elevenlabs fix(talk): keep unused speech secrets from blocking startup (#127687) 2026-08-21 17:03:23 -07:00
exa refactor(exa): unify contents validation (#129298) 2026-08-25 21:35:22 -07:00
fal fix(onboard): activate media-only provider authentication (#126711) 2026-08-20 08:43:40 -07:00
featherless
feishu fix(feishu): deliver presentations in document comments (#129843) 2026-08-26 00:21:23 -07:00
file-transfer chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
firecrawl chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
fireworks
fish-audio-speech refactor(plugin-sdk): extract stream and SecretRef primitives (#124835) 2026-08-16 14:30:11 -07:00
geolocation feat(geolocation): resolve client addresses to a coarse city via a bundled plugin (#128546) 2026-08-24 04:56:03 -07:00
github-copilot fix(copilot): apply Anthropic replay policy to Copilot Claude (#125015) 2026-08-25 22:59:39 -07:00
gmi
google fix(google): preserve stream terminals and provider tool-call identities (#116926) 2026-08-25 22:41:14 -07:00
google-meet chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
googlechat fix(googlechat): use agent identity in typing status (#129172) 2026-08-26 02:42:56 +08:00
gradium
groq
huggingface
image-generation-core refactor(media): remove orphan runtime facades (#125121) 2026-08-17 00:42:33 -07:00
imessage fix(imessage): preserve provider reply parent GUIDs (#129917) 2026-08-25 23:18:55 -07:00
inworld test(inworld): make voices timeout proof hermetic (#129024) 2026-08-24 22:48:24 -07:00
irc fix(channels): honor supported account reply-threading policies (#129679) 2026-08-25 21:09:15 -07:00
kilocode fix(kilocode): restore known default router pricing (#129546) 2026-08-25 13:27:22 -07:00
kimi-coding
line fix(channels): honor trusted plugin activation contracts (#114492) 2026-08-25 22:55:17 -07:00
linux-node fix(location): reject future-dated cached fixes (#128591) 2026-08-24 00:57:04 -07:00
litellm
llama-cpp fix(llama-cpp): preserve tools for fallback-capable chat templates (#129684) 2026-08-25 17:09:08 -07:00
llm-task chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
lmstudio refactor(lmstudio): share guided setup connection discovery (#129940) 2026-08-26 00:19:23 -07:00
lobster chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
logbook fix(logbook): index frame and batch queries (#129570) 2026-08-26 05:30:06 +08:00
longcat
matrix fix(matrix): preserve approval reactions after Gateway failures (#129879) 2026-08-25 22:09:27 -07:00
mattermost fix(mattermost): keep server file name when the download fails (#129556) 2026-08-25 22:08:42 -07:00
memory-core fix(memory): keep doctor discovery free of database imports (#129963) 2026-08-26 00:33:49 -07:00
memory-lancedb chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
memory-wiki chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
meta
microsoft fix(talk): keep unused speech secrets from blocking startup (#127687) 2026-08-21 17:03:23 -07:00
microsoft-foundry fix(microsoft-foundry): hard-stop timed-out Azure CLI probes (#110434) 2026-08-25 19:56:20 -07:00
migrate-claude fix(agents): preserve empty CLI subagent completions (#126379) 2026-08-19 11:30:43 -07:00
migrate-hermes fix(auth): report the database that actually holds an agent's profiles (#126918) 2026-08-20 18:05:50 -07:00
minimax test(providers): remove JSON reader facades (#125956) 2026-08-18 12:18:30 -07:00
mistral fix(memory): partition Mistral and DeepInfra embedding caches (#129669) 2026-08-25 16:44:21 -07:00
moonshot fix(search): preserve provider cache hits across equivalent queries (#126798) 2026-08-20 12:04:19 -07:00
msteams fix(channels): honor trusted plugin activation contracts (#114492) 2026-08-25 22:55:17 -07:00
mxc fix(agents): preserve empty CLI subagent completions (#126379) 2026-08-19 11:30:43 -07:00
nextcloud-talk fix(channels): honor trusted plugin activation contracts (#114492) 2026-08-25 22:55:17 -07:00
nostr chore: refresh dependencies after seven-day cooldown (#128414) 2026-08-24 03:01:54 -07:00
novita
nvidia test(mistral): wait on delivered transcripts after reconnect (#124935) 2026-08-16 17:45:17 -07:00
oc-path refactor(oc-path): share frontmatter formatting (#120098) 2026-08-26 05:45:20 +08:00
ollama perf: stop provider policy loads from compiling the transport graph (#129652) 2026-08-26 00:39:38 -07:00
onepassword chore: refresh dependencies after seven-day cooldown (#128414) 2026-08-24 03:01:54 -07:00
openai feat: bring Linux desktop onboarding to macOS parity (#129815) 2026-08-25 23:34:34 -07:00
opencode perf: stop provider policy loads from compiling the transport graph (#129652) 2026-08-26 00:39:38 -07:00
opencode-go fix(opencode): discover Zen and Go models on demand (#129831) 2026-08-25 23:38:11 -07:00
openrouter fix: make full verification hermetic across local environments (#128777) 2026-08-24 13:26:00 -07:00
openshell fix(openshell): remote workspace is never seeded when the gateway restarts between sandbox create and first exec (#129809) 2026-08-25 20:32:40 -07:00
parallel refactor(parallel): share search request lifecycle (#128775) 2026-08-24 08:35:57 -07:00
perplexity refactor(perplexity): unify search option validation (#129877) 2026-08-25 22:05:50 -07:00
pixverse fix(agents): keep guided auth atomic through creation (#126096) 2026-08-18 18:18:53 -07:00
policy test: trim plugin test duplicates (#126917) 2026-08-20 18:07:27 -07:00
qa-channel fix(channels): honor supported group history limits (#129710) 2026-08-25 18:23:07 -07:00
qa-lab fix(qa): bind restart triggers to checkpoint waits (#129935) 2026-08-26 00:09:27 -07:00
qianfan
qwen refactor: share media and process runtime helpers (#126490) 2026-08-19 17:48:49 -07:00
raft refactor: share media and process runtime helpers (#126490) 2026-08-19 17:48:49 -07:00
reef refactor(reef): remove obsolete JSONL protocol stores (#129698) 2026-08-25 18:22:54 -07:00
runway fix(onboard): enable Runway and Alibaba video provider authentication (#126722) 2026-08-20 09:30:48 -07:00
searxng fix(security): prevent blocked SearXNG refs from using ambient URLs (#126214) 2026-08-19 00:02:58 -07:00
senseaudio
sglang
signal refactor(signal): unify reaction recipient and mutation paths (#129110) 2026-08-25 01:06:49 -07:00
slack fix(slack): retain unavailable attachments alongside downloads (#129708) 2026-08-26 00:11:09 -07:00
sms fix(channels): honor trusted plugin activation contracts (#114492) 2026-08-25 22:55:17 -07:00
stepfun fix(stepfun): preserve selected model during repeat onboarding (#129045) 2026-08-24 23:44:52 -07:00
synology-chat fix(channels): honor trusted plugin activation contracts (#114492) 2026-08-25 22:55:17 -07:00
synthetic
talk-voice
tavily chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
teams-meetings chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
telegram fix(telegram): honor explicit reaction message targets (#129932) 2026-08-26 00:05:00 -07:00
tencent
test-support
tlon fix(channels): honor supported group history limits (#129710) 2026-08-25 18:23:07 -07:00
together
tokenjuice
tts-local-cli fix(tts): avoid mislabeled local and ElevenLabs audio (#125628) 2026-08-18 03:24:44 -07:00
twitch fix(channels): honor supported group history limits (#129710) 2026-08-25 18:23:07 -07:00
vault perf(cli): build root help from plugin metadata (#124562) 2026-08-16 05:43:35 -07:00
venice
vercel-ai-gateway fix(vercel): exclude non-language gateway models from chat catalog (#129406) 2026-08-25 09:57:17 -07:00
vllm
voice-call test(voice-call): remove duplicate timer cap cases (#129835) 2026-08-25 20:52:34 -07:00
volcengine fix(talk): keep unused speech secrets from blocking startup (#127687) 2026-08-21 17:03:23 -07:00
voyage refactor(voyage): reuse canonical embedding batch deadlines (#129811) 2026-08-25 20:49:18 -07:00
vydra fix(onboard): activate media-only provider authentication (#126711) 2026-08-20 08:43:40 -07:00
web-readability
webhooks fix(webhooks): keep TaskFlow child actions within the owning session (#129633) 2026-08-25 23:13:50 -07:00
whatsapp test(whatsapp): remove duplicate setup replays (#129713) 2026-08-25 17:47:06 -07:00
workboard fix(workboard): preserve unassigned worker ownership (#115119) 2026-08-25 19:34:43 -07:00
xai perf: stop provider policy loads from compiling the transport graph (#129652) 2026-08-26 00:39:38 -07:00
xiaomi fix(talk): keep unused speech secrets from blocking startup (#127687) 2026-08-21 17:03:23 -07:00
zai fix(agents): keep guided auth atomic through creation (#126096) 2026-08-18 18:18:53 -07:00
zalo fix(channels): honor trusted plugin activation contracts (#114492) 2026-08-25 22:55:17 -07:00
zalouser chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
zoom-meetings chore(deps): refresh dependencies after seven-day cooldown (#129187) 2026-08-25 05:00:46 -07:00
.npmignore
AGENTS.md
CLAUDE.md
music-generation-providers.live.test.ts
tsconfig.package-boundary.base.json
tsconfig.package-boundary.paths.json perf: stop provider policy loads from compiling the transport graph (#129652) 2026-08-26 00:39:38 -07:00
video-generation-providers.live.test.ts