Files
openclaw/src/config/plugin-auto-enable.types.ts
Peter Steinberger 90e465833b feat(gateway): durable cloud worker environments, provider SDK contract, and lifecycle RPCs (#104401)
* docs(plan): add cloud workers design plan

* feat(plugin-sdk): add cloud worker provider foundations

* feat(protocol): add worker environment lifecycle shapes

* feat(gateway): persist worker environment lifecycles

* test(gateway): pin environment inventory assertion for damaged worker store

* style(cloud-workers): satisfy lint and docs formatting

* fix(gateway): narrow worker environment type boundaries

* chore(plugin-sdk): account for WorkerProvider surface growth

* docs: regenerate docs map
2026-07-11 04:54:27 -07:00

73 lines
1.6 KiB
TypeScript

// Defines plugin auto-enable decision and candidate types.
import type { OpenClawConfig } from "./types.openclaw.js";
/** Reasons a configured surface can cause a plugin to be auto-enabled. */
export type PluginAutoEnableCandidate =
| {
pluginId: string;
kind: "channel-configured";
channelId: string;
}
| {
pluginId: string;
kind: "provider-auth-configured";
providerId: string;
}
| {
pluginId: string;
kind: "provider-model-configured";
modelRef: string;
}
| {
pluginId: string;
kind: "speech-provider-selected";
providerId: string;
}
| {
pluginId: string;
kind: "worker-provider-selected";
providerId: string;
}
| {
pluginId: string;
kind: "agent-harness-runtime-configured";
runtime: string;
}
| {
pluginId: string;
kind: "web-search-provider-selected";
providerId: string;
}
| {
pluginId: string;
kind: "web-fetch-provider-selected";
providerId: string;
}
| {
pluginId: string;
kind: "plugin-web-search-configured";
}
| {
pluginId: string;
kind: "plugin-web-fetch-configured";
}
| {
pluginId: string;
kind: "plugin-tool-configured";
}
| {
pluginId: string;
kind: "configured-plugin-repaired";
}
| {
pluginId: string;
kind: "setup-auto-enable";
reason: string;
};
export type PluginAutoEnableResult = {
config: OpenClawConfig;
changes: string[];
autoEnabledReasons: Record<string, string[]>;
};