openclaw/scripts/lib/plugin-sdk-entrypoints.json
Josh Lehman cde6bbdcfe
feat(plugins): add decision models with per-agent selection (#152237)
* fix(plugins): preserve authored config through runtime load plans

* feat(judgments): add typed provider runtime and plugin SDK

* feat(plugins): add per-agent decision models

Add an opt-in decisionModel role for typed choices, scores, and boolean
probabilities, with global defaults and per-agent inheritance or disablement.
Keep provider lifecycle and prepared credentials host-owned, and expose
manifest-only decision choices separately from conversational model catalogs.

Adapt the provider foundation from #152237 to the decisions contract. Existing
configurations keep decision calls disabled until a model is selected.

Co-authored-by: Josh Lehman <550978+jalehman@users.noreply.github.com>

* fix(plugins): complete decision inspection and preserve authored config

Expose optional decision-provider health through the Gateway wire schema
and generated native DTOs. Preserve the landed SecretRef prerequisite’s
identity behavior for unchanged activation plans. Move model mocks into
one private sibling factory without expanding the public helper surface.

Validation: 51 handler/protocol tests, 18 post-extraction tests, 52 runtime
and integration tests, generated protocol checks, and clean P0-P2 review.
The SDK surface-budget increase remains pending maintainer approval.

Co-authored-by: Josh Lehman <550978+jalehman@users.noreply.github.com>

* perf(plugins): reduce decision overhead and unnecessary reloads

Keep one full provider input snapshot and an independent question rubric. Recognize decision-only catalog providers with the existing normalization policy, and reload plugins only for decision-model changes while preserving roster actions. Apply the approved SDK surface increment and behavior-neutral cleanup.

Validation: 58 runtime/config/loader tests, 610 Gateway regression/sibling tests plus 15 final catalog cases, full core typechecks, scoped lint and clean managed review. A 143155-attempt synthetic stress run settles all 18104 provider calls at max concurrency four.

* fix(plugins): preserve reload boundaries and decision test contracts

Materialize only present decision-selector leaves so Telegram account creation/removal retains its parent lifecycle action. Select UI controls by model role, preserve independent chat and decision catalogs in tests, remove an unused probe, and rebalance existing typecheck shards without raising their limits.

Validation: 588 reload tests, 58 shard/loader tests, 38 UI catalog tests, 9 browser tests, affected typechecks, unused-file scans, and clean managed review.

* test(ui): address model pickers by role in gateway flows

Disambiguate Primary from the new Decision picker in the real-Gateway catalog test, alias browser test, and Agents view assertions. Preserve draft and publication checks. Unit/browser/typecheck proof and managed review pass; real-Gateway execution follows on the integrated build.

* test(plugins): isolate runtime metadata and preserve shard headroom

Move the existing lazy-runtime metadata contract intact into its own focused module. Group CLI program tests with commands so newer main tests keep every typecheck shard within existing limits. No production changes or limit increases.

Validation: 57 tests, four typecheck graphs, canonical line guards against the CI main snapshot, targeted lint and clean managed review.

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Josh Lehman <550978+jalehman@users.noreply.github.com>
2026-09-19 14:37:53 -07:00

367 lines
8.8 KiB
JSON

[
"core",
"control-ui-link-reader",
"provider-setup",
"sandbox",
"routing",
"runtime",
"health",
"doctor-repair-runtime",
"model-ref-parse",
"model-catalog-pricing",
"outbound-echo-runtime",
"secret-provider-alias",
"session-store-paths",
"plugin-state-store-runtime",
"runtime-doctor",
"runtime-doctor-migrations",
"runtime-env",
"proxy-capture",
"setup",
"setup-runtime",
"channel-setup",
"channel-streaming-config",
"setup-tools",
"archive",
"blob-runtime",
"root-walk",
"secret-file",
"approval-auth-runtime",
"approval-client-runtime",
"approval-delivery-runtime",
"approval-gateway-runtime",
"approval-reference-runtime",
"approval-handler-adapter-runtime",
"approval-handler-runtime",
"channel-runtime-context",
"approval-native-runtime",
"approval-reaction-runtime",
"approval-reply-runtime",
"approval-runtime",
"question-gateway-runtime",
"config-runtime",
"config-contracts",
"plugin-config-runtime",
"config-mutation",
"cron-store-runtime",
"json-schema-runtime",
"json-unsafe-integers",
"reply-runtime",
"reply-dispatch-runtime",
"reply-reference",
"reply-chunking",
"reply-payload",
"reply-payload-testing",
"agent-media-payload",
"inbound-reply-dispatch",
"inbound-envelope",
"inbound-event-delivery",
"channel-reply-pipeline",
"interactive-runtime",
"outbound-media",
"pair-loop-guard-runtime",
"poll-runtime",
"async-lock-runtime",
"channel-activity-runtime",
"channel-join-intro-runtime",
"concurrency-runtime",
"dedupe-runtime",
"delivery-queue-runtime",
"file-access-runtime",
"node-selection-runtime",
"heartbeat-runtime",
"expect-runtime",
"number-runtime",
"secure-random-runtime",
"system-event-runtime",
"transport-ready-runtime",
"exec-approvals-runtime",
"infra-runtime",
"runtime-config-snapshot",
"runtime-group-policy",
"model-session-runtime",
"talk-config-runtime",
"ssrf-policy",
"ssrf-runtime",
"ssrf-runtime-internal",
"media-runtime",
"media-local-roots",
"media-store",
"media-mime",
"embedding-providers",
"embedding-provider-runtime-contract",
"embedding-provider-adapter",
"media-generation-runtime",
"conversation-binding-inspection-runtime",
"conversation-binding-runtime",
"conversation-runtime",
"thread-bindings-runtime",
"thread-bindings-session-runtime",
"text-chunking",
"agent-scope-runtime",
"agent-runtime",
"simple-completion-runtime",
"speech-core",
"speech-provider",
"speech-settings",
"tts-runtime",
"plugin-command-runtime",
"plugin-runtime",
"channel-secret-basic-runtime",
"channel-secret-owner-runtime",
"channel-secret-tts-runtime",
"secret-ref-runtime",
"secret-file-runtime",
"security-runtime",
"gateway-config-runtime",
"gateway-method-runtime",
"gateway-runtime",
"websocket-runtime",
"cli-argv",
"cli-runtime",
"node-cli-runtime",
"cli-backend",
"claude-model-runtime",
"codex-mcp-projection",
"native-hook-relay-runtime",
"codex-session-transcript-runtime",
"agent-harness-task-runtime",
"agent-harness",
"agent-harness-exec-review-runtime",
"agent-harness-registration",
"agent-harness-runtime",
"agent-workspace-runtime",
"agent-harness-tool-runtime",
"hook-runtime",
"html-entity-runtime",
"host-runtime",
"types",
"process-runtime",
"windows-spawn",
"acp-runtime",
"acp-runtime-backend",
"acp-binding-runtime",
"acp-binding-resolve-runtime",
"lazy-runtime",
"agent-runtime-test-contracts",
"channel-target-testing",
"channel-test-helpers",
"plugin-test-api",
"plugin-test-contracts",
"plugin-test-runtime",
"provider-http-test-mocks",
"provider-test-contracts",
"test-env",
"test-fixtures",
"test-live",
"test-live-auth",
"test-media-generation",
"test-media-understanding",
"test-node-mocks",
"test-state",
"temp-path",
"time-runtime",
"logging-core",
"migration",
"migration-runtime",
"plugin-state-runtime",
"plugin-state-test-runtime",
"markdown-table-runtime",
"account-helpers",
"account-core",
"account-id",
"account-resolution",
"account-resolution-runtime",
"access-groups",
"allow-from",
"allowlist-config-edit",
"browser-cdp",
"browser-config",
"boolean-param",
"channel-contract-testing",
"channel-dm-policy",
"dangerous-name-runtime",
"command-auth",
"command-auth-native",
"command-primitives-runtime",
"command-status",
"command-status-runtime",
"command-detection",
"command-surface",
"collection-runtime",
"direct-dm-guard-policy",
"discord",
"device-bootstrap",
"diagnostic-flags",
"diagnostic-runtime",
"error-runtime",
"extension-shared",
"channel-config-helpers",
"channel-config-ui-hints",
"channel-config-writes",
"channel-config-primitives",
"channel-config-schema",
"bundled-channel-config-schema",
"chat-channel-ids",
"channel-actions",
"channel-plugin-common",
"channel-core",
"channel-entry-contract",
"channel-contract",
"channel-feedback",
"channel-inbound",
"channel-inbound-debounce",
"channel-mention-gating",
"channel-lifecycle",
"channel-ingress-runtime",
"channel-ingress-test-runtime",
"channel-message",
"channel-outbound",
"channel-pairing",
"channel-policy",
"channel-send-result",
"channel-route",
"channel-targets",
"context-visibility-runtime",
"file-lock",
"fetch-runtime",
"runtime-fetch",
"inline-image-data-url-runtime",
"node-host",
"computer-use",
"response-limit-runtime",
"session-binding-runtime",
"session-catalog",
"session-catalog-paging",
"session-catalog-runtime",
"session-discussion",
"session-key-runtime",
"session-store-runtime",
"session-transcript-runtime",
"sqlite-runtime",
"sqlite-runtime-testing",
"sqlite-worker-runtime",
"session-transcript-hit",
"session-visibility",
"ssrf-dispatcher",
"string-coerce-runtime",
"group-activation",
"global-singleton",
"directory-config-runtime",
"directory-runtime",
"image-generation",
"image-generation-runtime",
"image-generation-core",
"music-generation",
"video-generation",
"video-generation-runtime",
"reply-history",
"realtime-transcription",
"realtime-transcription-session",
"realtime-bootstrap-context",
"realtime-voice-audio-queue",
"realtime-voice-activation",
"realtime-voice",
"realtime-voice-provider",
"meeting-page-script-runtime",
"meeting-runtime",
"transcripts",
"media-understanding",
"media-understanding-runtime",
"request-url",
"runtime-store",
"json-store",
"persistent-dedupe",
"ingress-effect-once",
"keyed-async-queue",
"qa-runner-runtime",
"memory-core-host-embedding-registry",
"memory-core-host-engine-embeddings",
"memory-core-host-engine-curated",
"memory-core-host-engine-foundation",
"memory-core-host-engine-indexing",
"memory-core-host-engine-knn",
"memory-core-host-engine-fs",
"memory-core-host-engine-sessions",
"memory-core-host-engine-schema",
"memory-core-host-engine-storage",
"memory-core-host-secret",
"memory-core-host-status",
"memory-core-host-runtime-cli",
"memory-core-host-runtime-core",
"memory-core-host-runtime-files",
"memory-host-core",
"memory-host-events",
"memory-host-markdown",
"memory-host-search",
"message-tool-delivery-hints",
"models-provider-runtime",
"skill-commands-runtime",
"native-command-config-runtime",
"native-command-registry",
"provider-auth",
"provider-auth-aliases",
"provider-oauth-runtime",
"provider-auth-runtime",
"provider-auth-login-flow-runtime",
"provider-auth-api-key",
"provider-auth-result",
"provider-selection-runtime",
"plugin-entry",
"provider-catalog-live-runtime",
"provider-catalog-runtime",
"provider-catalog-shared",
"provider-entry",
"provider-env-vars",
"provider-http",
"provider-binary-stream",
"provider-model-types",
"provider-model-metadata",
"provider-model-shared",
"provider-onboard",
"provider-stream-family",
"provider-stream-shared",
"provider-thinking-runtime",
"provider-transport-runtime",
"provider-stream",
"provider-tools",
"provider-usage",
"document-extractor",
"web-content-extractor",
"provider-web-fetch-contract",
"provider-web-fetch",
"provider-web-search-config-contract",
"provider-web-search-contract",
"provider-web-search",
"retry-runtime",
"run-command",
"param-readers",
"secret-input",
"secret-input-runtime",
"decisions",
"secret-ref-readonly",
"channel-status",
"status-helpers",
"speech",
"string-normalization-runtime",
"state-paths",
"target-resolver-runtime",
"telegram-account",
"text-autolink-runtime",
"text-utility-runtime",
"widget-html",
"control-ui",
"feature-contract",
"feature-plugin",
"tool-plugin",
"tool-payload",
"tool-results",
"tool-send",
"webhook-ingress",
"webhook-targets",
"webhook-request-guards",
"web-media",
"agent-core",
"agent-sessions",
"llm"
]