refactor(integrations): shared agent plugin runtimes and native adapters (#7203)

This commit is contained in:
Kartik
2026-09-08 23:32:25 +05:30
committed by GitHub
parent dae67f74f5
commit 73e7b8763a
369 changed files with 31056 additions and 20464 deletions
+3 -47
View File
@@ -1,18 +1,15 @@
/**
* Public Artifacts Provider for OpenClaw memory-wiki bridge mode.
*
* Exposes Mem0 memories and dream state as artifacts that can be
* Exposes Mem0 memories as artifacts that can be
* consumed by other plugins (e.g., memory-wiki in bridge mode).
*/
import type { Mem0Provider, MemoryItem, Mem0Config } from "./types.ts";
import type { Mem0Provider, MemoryItem } from "./types.ts";
import type { MemoryArtifact } from "openclaw/plugin-sdk";
import { getDreamState } from "./dream-gate.ts";
export interface PublicArtifactsContext {
provider: Mem0Provider;
cfg: Mem0Config;
stateDir?: string;
effectiveUserId: (sessionKey?: string) => string;
}
@@ -28,7 +25,7 @@ export function createPublicArtifactsProvider(ctx: PublicArtifactsContext) {
}): Promise<MemoryArtifact[]> {
const artifacts: MemoryArtifact[] = [];
const userId = options?.userId ?? ctx.effectiveUserId();
const types = options?.types ?? ["memory", "dream", "entity"];
const types = options?.types ?? ["memory", "entity"];
const limit = options?.limit ?? 100;
try {
@@ -44,14 +41,6 @@ export function createPublicArtifactsProvider(ctx: PublicArtifactsContext) {
}
}
// Dream state artifact (if dream enabled and stateDir available)
if (types.includes("dream") && ctx.stateDir && ctx.cfg.skills?.dream?.enabled) {
const dreamArtifact = getDreamArtifact(ctx.stateDir, userId);
if (dreamArtifact) {
artifacts.push(dreamArtifact);
}
}
// Entity artifacts (grouped memories by category)
if (types.includes("entity")) {
const entityArtifacts = extractEntityArtifacts(artifacts.filter(a => a.type === "memory"));
@@ -90,39 +79,6 @@ function memoryToArtifact(mem: MemoryItem): MemoryArtifact {
};
}
/**
* Get dream consolidation state as an artifact.
*/
function getDreamArtifact(stateDir: string, userId: string): MemoryArtifact | null {
try {
const state = getDreamState(stateDir);
if (state.lastConsolidatedAt === 0) {
return null; // No consolidation has occurred yet
}
const lastDate = new Date(state.lastConsolidatedAt).toISOString();
return {
id: `mem0:dream:${userId}:state`,
type: "dream",
title: `Dream State (last: ${lastDate.split("T")[0]})`,
content: [
`Last consolidation: ${lastDate}`,
`Sessions since: ${state.sessionsSince}`,
`Last session: ${state.lastSessionId ?? "none"}`,
].join("\n"),
metadata: {
lastConsolidatedAt: state.lastConsolidatedAt,
sessionsSince: state.sessionsSince,
lastSessionId: state.lastSessionId,
user_id: userId,
},
updatedAt: lastDate,
};
} catch {
return null;
}
}
/**
* Extract entity artifacts from memories (grouped by category).
*/