mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 14:50:45 +00:00
fix(plugins): cache discovery registration snapshots
Co-authored-by: junpei.o <14040213+livingghost@users.noreply.github.com> Co-authored-by: Yoshiaki Okuyama <okuyam2y@gmail.com> Co-authored-by: Shion Eria <shioneria@foxmail.com> Co-authored-by: Billy Shih <1472300+bbshih@users.noreply.github.com>
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
b4fb88ca434fb92a38bb068cc0b1863b1f22bcde2ce21499c3077ea7e8460775 plugin-sdk-api-baseline.json
|
||||
0f373c8820c0cd17b13dddf520dd286d9dec85234eb0a7f94dac07432572ede7 plugin-sdk-api-baseline.jsonl
|
||||
eb5c790aaa54be7b1380eb5a162db50dd314e052aedb5e608290092c33d999f2 plugin-sdk-api-baseline.json
|
||||
0d2fd80f69e0c3488b6bdbbbb035b08ab108637790d1f30b8e4f84c71c5bc8e2 plugin-sdk-api-baseline.jsonl
|
||||
|
||||
@@ -366,6 +366,21 @@ activation. The loader still falls back to `activate(api)` for older plugins,
|
||||
but bundled plugins and new external plugins should treat `register` as the
|
||||
public contract.
|
||||
|
||||
`api.registrationMode` tells a plugin why its entry is being loaded:
|
||||
|
||||
| Mode | Meaning |
|
||||
| --------------- | ------------------------------------------------------------------------------------------------------ |
|
||||
| `full` | Runtime activation. Register tools, hooks, services, commands, routes, and other live side effects. |
|
||||
| `discovery` | Read-only capability discovery. Register providers and metadata, but skip expensive live side effects. |
|
||||
| `setup-only` | Channel setup metadata loading through a lightweight setup entry. |
|
||||
| `setup-runtime` | Channel setup loading that also needs the runtime entry. |
|
||||
| `cli-metadata` | CLI command metadata collection only. |
|
||||
|
||||
Plugin entries that open sockets, databases, background workers, or long-lived
|
||||
clients should guard those side effects with `api.registrationMode === "full"`.
|
||||
Discovery loads are cached separately from activating loads and do not replace
|
||||
the running Gateway registry.
|
||||
|
||||
Common registration methods:
|
||||
|
||||
| Method | What it registers |
|
||||
|
||||
Reference in New Issue
Block a user