mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 18:20:44 +00:00
context-engine: pass runtime context to ContextEngineFactory (#67243)
Merged via squash.
Prepared head SHA: 9aca6a5af1
Co-authored-by: jarimustonen <1272053+jarimustonen@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
46476e7b4fee105ca27aed9c769c507f70f02b8ce8586c135feb18e751db0de1 plugin-sdk-api-baseline.json
|
||||
4bc1c0dc66d910c80694fa1a6b7ba3ab488bf737b3566e53b8a5857c16d2e0b1 plugin-sdk-api-baseline.jsonl
|
||||
e7d03a0d5aed4f1afb5c7d5e235a166e1e248090632248eaa92b0016531e7f3b plugin-sdk-api-baseline.json
|
||||
b9bbf8e444b358485cb33c634d3f6f6588004a5c32482c1a473167957269ae58 plugin-sdk-api-baseline.jsonl
|
||||
|
||||
@@ -122,7 +122,7 @@ A plugin can register a context engine using the plugin API:
|
||||
import { buildMemorySystemPromptAddition } from "openclaw/plugin-sdk/core";
|
||||
|
||||
export default function register(api) {
|
||||
api.registerContextEngine("my-engine", () => ({
|
||||
api.registerContextEngine("my-engine", (ctx) => ({
|
||||
info: {
|
||||
id: "my-engine",
|
||||
name: "My Context Engine",
|
||||
@@ -154,6 +154,10 @@ export default function register(api) {
|
||||
}
|
||||
```
|
||||
|
||||
The factory `ctx` includes optional `config`, `agentDir`, and `workspaceDir`
|
||||
values so plugins can initialize per-agent or per-workspace state before the
|
||||
first lifecycle hook runs.
|
||||
|
||||
Then enable it in config:
|
||||
|
||||
```json5
|
||||
|
||||
@@ -960,7 +960,7 @@ pipeline rather than just add memory search or hooks.
|
||||
import { buildMemorySystemPromptAddition } from "openclaw/plugin-sdk/core";
|
||||
|
||||
export default function (api) {
|
||||
api.registerContextEngine("lossless-claw", () => ({
|
||||
api.registerContextEngine("lossless-claw", (ctx) => ({
|
||||
info: { id: "lossless-claw", name: "Lossless Claw", ownsCompaction: true },
|
||||
async ingest() {
|
||||
return { ingested: true };
|
||||
@@ -982,6 +982,9 @@ export default function (api) {
|
||||
}
|
||||
```
|
||||
|
||||
The factory `ctx` exposes optional `config`, `agentDir`, and `workspaceDir`
|
||||
values for construction-time initialization.
|
||||
|
||||
If your engine does **not** own the compaction algorithm, keep `compact()`
|
||||
implemented and delegate it explicitly:
|
||||
|
||||
@@ -992,7 +995,7 @@ import {
|
||||
} from "openclaw/plugin-sdk/core";
|
||||
|
||||
export default function (api) {
|
||||
api.registerContextEngine("my-memory-engine", () => ({
|
||||
api.registerContextEngine("my-memory-engine", (ctx) => ({
|
||||
info: {
|
||||
id: "my-memory-engine",
|
||||
name: "My Memory Engine",
|
||||
|
||||
Reference in New Issue
Block a user