@elizaos/openclaw-adapter 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +133 -0
  2. package/dist/index.d.ts +22 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +100 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/src/action-to-tool.d.ts +25 -0
  7. package/dist/src/action-to-tool.d.ts.map +1 -0
  8. package/dist/src/action-to-tool.js +66 -0
  9. package/dist/src/action-to-tool.js.map +1 -0
  10. package/dist/src/config.d.ts +3 -0
  11. package/dist/src/config.d.ts.map +1 -0
  12. package/dist/src/config.js +37 -0
  13. package/dist/src/config.js.map +1 -0
  14. package/dist/src/eliza-types.d.ts +527 -0
  15. package/dist/src/eliza-types.d.ts.map +1 -0
  16. package/dist/src/eliza-types.js +28 -0
  17. package/dist/src/eliza-types.js.map +1 -0
  18. package/dist/src/evaluator-to-hook.d.ts +13 -0
  19. package/dist/src/evaluator-to-hook.d.ts.map +1 -0
  20. package/dist/src/evaluator-to-hook.js +36 -0
  21. package/dist/src/evaluator-to-hook.js.map +1 -0
  22. package/dist/src/event-mapper.d.ts +4 -0
  23. package/dist/src/event-mapper.d.ts.map +1 -0
  24. package/dist/src/event-mapper.js +16 -0
  25. package/dist/src/event-mapper.js.map +1 -0
  26. package/dist/src/in-memory-store.d.ts +163 -0
  27. package/dist/src/in-memory-store.d.ts.map +1 -0
  28. package/dist/src/in-memory-store.js +605 -0
  29. package/dist/src/in-memory-store.js.map +1 -0
  30. package/dist/src/logger-adapter.d.ts +13 -0
  31. package/dist/src/logger-adapter.d.ts.map +1 -0
  32. package/dist/src/logger-adapter.js +14 -0
  33. package/dist/src/logger-adapter.js.map +1 -0
  34. package/dist/src/memory-builder.d.ts +12 -0
  35. package/dist/src/memory-builder.d.ts.map +1 -0
  36. package/dist/src/memory-builder.js +31 -0
  37. package/dist/src/memory-builder.js.map +1 -0
  38. package/dist/src/provider-to-hook.d.ts +9 -0
  39. package/dist/src/provider-to-hook.d.ts.map +1 -0
  40. package/dist/src/provider-to-hook.js +24 -0
  41. package/dist/src/provider-to-hook.js.map +1 -0
  42. package/dist/src/route-adapter.d.ts +9 -0
  43. package/dist/src/route-adapter.d.ts.map +1 -0
  44. package/dist/src/route-adapter.js +53 -0
  45. package/dist/src/route-adapter.js.map +1 -0
  46. package/dist/src/runtime-bridge.d.ts +189 -0
  47. package/dist/src/runtime-bridge.d.ts.map +1 -0
  48. package/dist/src/runtime-bridge.js +315 -0
  49. package/dist/src/runtime-bridge.js.map +1 -0
  50. package/dist/src/schema-converter.d.ts +14 -0
  51. package/dist/src/schema-converter.d.ts.map +1 -0
  52. package/dist/src/schema-converter.js +110 -0
  53. package/dist/src/schema-converter.js.map +1 -0
  54. package/dist/src/service-adapter.d.ts +7 -0
  55. package/dist/src/service-adapter.d.ts.map +1 -0
  56. package/dist/src/service-adapter.js +25 -0
  57. package/dist/src/service-adapter.js.map +1 -0
  58. package/dist/src/types.d.ts +16 -0
  59. package/dist/src/types.d.ts.map +1 -0
  60. package/dist/src/types.js +7 -0
  61. package/dist/src/types.js.map +1 -0
  62. package/openclaw.plugin.json +37 -0
  63. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-adapter.js","sourceRoot":"","sources":["../../src/logger-adapter.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,iBAAiB,CAAC,EAAgB;IAChD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAe,EAAU,EAAE,CACzC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAC/F,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEd,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC;IAChC,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,CAAY,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,IAAI,EAAE,CAAC,GAAG,CAAY,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,EAAE,CAAC,GAAG,CAAY,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,KAAK,EAAE,CAAC,GAAG,CAAY,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,GAAG,EAAE,CAAC,GAAG,CAAY,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC,GAAG,CAAY,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,KAAK,EAAE,CAAC,GAAG,CAAY,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Memory, UUID } from "./eliza-types.js";
2
+ export declare function buildMemory(params: {
3
+ text: string;
4
+ entityId?: UUID;
5
+ agentId?: UUID;
6
+ roomId?: UUID;
7
+ worldId?: UUID;
8
+ source?: string;
9
+ action?: string;
10
+ }): Memory;
11
+ export declare function buildMemoryFromToolParams(params: Record<string, unknown>, actionName: string, agentId?: UUID): Memory;
12
+ //# sourceMappingURL=memory-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-builder.d.ts","sourceRoot":"","sources":["../../src/memory-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE9D,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAcT;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,IAAI,GACb,MAAM,CAaR"}
@@ -0,0 +1,31 @@
1
+ import { randomUUID } from "node:crypto";
2
+ export function buildMemory(params) {
3
+ const content = { text: params.text, source: params.source ?? "openclaw-adapter" };
4
+ if (params.action)
5
+ content.actions = [params.action];
6
+ return {
7
+ id: randomUUID(),
8
+ content,
9
+ entityId: params.entityId ?? randomUUID(),
10
+ agentId: params.agentId,
11
+ roomId: params.roomId ?? randomUUID(),
12
+ worldId: params.worldId,
13
+ createdAt: Date.now(),
14
+ metadata: { type: "message", source: "openclaw-adapter" },
15
+ };
16
+ }
17
+ export function buildMemoryFromToolParams(params, actionName, agentId) {
18
+ const parts = [];
19
+ for (const [key, value] of Object.entries(params)) {
20
+ if (value !== undefined && value !== null && value !== "") {
21
+ parts.push(`${key}: ${String(value)}`);
22
+ }
23
+ }
24
+ return buildMemory({
25
+ text: parts.length > 0 ? parts.join(", ") : actionName,
26
+ agentId,
27
+ action: actionName,
28
+ source: "openclaw-adapter",
29
+ });
30
+ }
31
+ //# sourceMappingURL=memory-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-builder.js","sourceRoot":"","sources":["../../src/memory-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,UAAU,WAAW,CAAC,MAQ3B;IACC,MAAM,OAAO,GAAY,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;IAC5F,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErD,OAAO;QACL,EAAE,EAAE,UAAU,EAAU;QACxB,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAK,UAAU,EAAW;QACnD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAK,UAAU,EAAW;QAC/C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAA+B,EAC/B,UAAkB,EAClB,OAAc;IAEd,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;QACtD,OAAO;QACP,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,kBAAkB;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Provider, PluginHookBeforeAgentStartEvent, PluginHookBeforeAgentStartResult, PluginHookAgentContext } from "./eliza-types.js";
2
+ import type { RuntimeBridge } from "./runtime-bridge.js";
3
+ export type AdaptedProviderHook = {
4
+ hookName: "before_agent_start";
5
+ providerName: string;
6
+ handler: (event: PluginHookBeforeAgentStartEvent, ctx: PluginHookAgentContext) => Promise<PluginHookBeforeAgentStartResult | void>;
7
+ };
8
+ export declare function adaptProviderToHook(provider: Provider, bridge: RuntimeBridge): AdaptedProviderHook;
9
+ //# sourceMappingURL=provider-to-hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-to-hook.d.ts","sourceRoot":"","sources":["../../src/provider-to-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAAS,+BAA+B,EAChD,gCAAgC,EAAE,sBAAsB,EACzD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,CACP,KAAK,EAAE,+BAA+B,EACtC,GAAG,EAAE,sBAAsB,KACxB,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;CACvD,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,GAAG,mBAAmB,CAsBlG"}
@@ -0,0 +1,24 @@
1
+ import { buildMemory } from "./memory-builder.js";
2
+ export function adaptProviderToHook(provider, bridge) {
3
+ return {
4
+ hookName: "before_agent_start",
5
+ providerName: provider.name,
6
+ async handler(event) {
7
+ const promptText = typeof event.prompt === "string" ? event.prompt : "";
8
+ const message = buildMemory({ text: promptText, agentId: bridge.agentId });
9
+ const state = { values: { agentName: bridge.character.name ?? "Eliza" }, data: {}, text: promptText };
10
+ let result;
11
+ try {
12
+ result = await provider.get(bridge, message, state);
13
+ }
14
+ catch (err) {
15
+ bridge.logger.warn(`[eliza-adapter] Provider "${provider.name}" failed: ${err instanceof Error ? err.message : String(err)}`);
16
+ return;
17
+ }
18
+ if (result?.text?.trim()) {
19
+ return { prependContext: `<eliza-provider name="${provider.name}">\n${result.text}\n</eliza-provider>` };
20
+ }
21
+ },
22
+ };
23
+ }
24
+ //# sourceMappingURL=provider-to-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-to-hook.js","sourceRoot":"","sources":["../../src/provider-to-hook.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAWlD,MAAM,UAAU,mBAAmB,CAAC,QAAkB,EAAE,MAAqB;IAC3E,OAAO;QACL,QAAQ,EAAE,oBAAoB;QAC9B,YAAY,EAAE,QAAQ,CAAC,IAAI;QAE3B,KAAK,CAAC,OAAO,CAAC,KAAsC;YAClD,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,MAAM,KAAK,GAAU,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAW,CAAC;YAEtH,IAAI,MAAM,CAAC;YACX,IAAI,CAAC;gBAAC,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YAC5D,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,QAAQ,CAAC,IAAI,aAAa,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9H,OAAO;YACT,CAAC;YAED,IAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;gBACzB,OAAO,EAAE,cAAc,EAAE,yBAAyB,QAAQ,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC;YAC3G,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { Route } from "./eliza-types.js";
3
+ import type { RuntimeBridge } from "./runtime-bridge.js";
4
+ export type AdaptedRoute = {
5
+ path: string;
6
+ handler: (req: IncomingMessage, res: ServerResponse) => Promise<void>;
7
+ };
8
+ export declare function adaptRoute(route: Route, bridge: RuntimeBridge): AdaptedRoute | null;
9
+ //# sourceMappingURL=route-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-adapter.d.ts","sourceRoot":"","sources":["../../src/route-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,KAAK,EAAE,KAAK,EAA+B,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE,CAAC;AAsBF,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI,CAkCnF"}
@@ -0,0 +1,53 @@
1
+ import { URL } from "node:url";
2
+ async function readBody(req) {
3
+ const chunks = [];
4
+ for await (const chunk of req) {
5
+ chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
6
+ }
7
+ return Buffer.concat(chunks).toString("utf-8");
8
+ }
9
+ function wrapResponse(res) {
10
+ const self = {
11
+ status(code) { res.statusCode = code; return self; },
12
+ json(data) { res.setHeader("Content-Type", "application/json"); res.end(JSON.stringify(data)); return self; },
13
+ send(data) { typeof data === "string" ? res.end(data) : self.json(data); return self; },
14
+ end() { res.end(); return self; },
15
+ setHeader(name, value) { res.setHeader(name, value); return self; },
16
+ get headersSent() { return res.headersSent; },
17
+ };
18
+ return self;
19
+ }
20
+ export function adaptRoute(route, bridge) {
21
+ if (!route.handler)
22
+ return null;
23
+ const adaptedPath = `/eliza${route.path.startsWith("/") ? route.path : `/${route.path}`}`;
24
+ const routeHandler = route.handler;
25
+ return {
26
+ path: adaptedPath,
27
+ async handler(req, res) {
28
+ const urlObj = new URL(req.url ?? "/", `http://${req.headers.host ?? "localhost"}`);
29
+ const parsedQuery = {};
30
+ for (const [key, value] of urlObj.searchParams.entries()) {
31
+ const existing = parsedQuery[key];
32
+ parsedQuery[key] = existing
33
+ ? Array.isArray(existing) ? [...existing, value] : [existing, value]
34
+ : value;
35
+ }
36
+ let parsedBody;
37
+ const method = (req.method ?? "GET").toUpperCase();
38
+ if (method === "POST" || method === "PUT" || method === "PATCH") {
39
+ const raw = await readBody(req);
40
+ if (raw.length > 0) {
41
+ try {
42
+ parsedBody = JSON.parse(raw);
43
+ }
44
+ catch {
45
+ parsedBody = { _raw: raw, _parseError: true };
46
+ }
47
+ }
48
+ }
49
+ await routeHandler({ body: parsedBody, params: {}, query: parsedQuery, headers: req.headers, method: req.method ?? "GET", path: req.url ?? "/", url: req.url ?? "/" }, wrapResponse(res), bridge);
50
+ },
51
+ };
52
+ }
53
+ //# sourceMappingURL=route-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-adapter.js","sourceRoot":"","sources":["../../src/route-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ import type { Action, ActionResult, Agent, Character, Component, Entity, Evaluator, EventPayload, IAgentRuntime, Log, LogBody, Memory, MemoryMetadata, Plugin, PluginLogger, PreEvaluatorResult, Provider, Relationship, Room, Route, RuntimeEventStorage, Service, ServiceClass, ServiceTypeName, State, Task, TaskWorker, UUID, World } from "./eliza-types.js";
2
+ import { InMemoryStore } from "./in-memory-store.js";
3
+ import { type ElizaCompatLogger } from "./logger-adapter.js";
4
+ import type { ElizaAdapterConfig } from "./types.js";
5
+ export type RuntimeBridgeOptions = {
6
+ config: ElizaAdapterConfig;
7
+ openclawLogger: PluginLogger;
8
+ };
9
+ type EventHandlerFn = (params: EventPayload) => Promise<void>;
10
+ export declare class RuntimeBridge implements IAgentRuntime {
11
+ readonly agentId: UUID;
12
+ readonly character: Character;
13
+ readonly enableAutonomy = false;
14
+ readonly initPromise: Promise<void>;
15
+ providers: Provider[];
16
+ actions: Action[];
17
+ evaluators: Evaluator[];
18
+ plugins: Plugin[];
19
+ routes: Route[];
20
+ services: Map<string, Service[]>;
21
+ events: RuntimeEventStorage;
22
+ fetch: typeof globalThis.fetch | null;
23
+ logger: ElizaCompatLogger;
24
+ stateCache: Map<string, State>;
25
+ messageService: null;
26
+ db: object;
27
+ private readonly store;
28
+ private readonly settings;
29
+ private readonly taskWorkers;
30
+ private currentRunId;
31
+ private actionResultsStore;
32
+ private serviceLoadPromises;
33
+ constructor(opts: RuntimeBridgeOptions);
34
+ getSetting(key: string): string | boolean | number | null;
35
+ setSetting(key: string, value: string | boolean | null): void;
36
+ getService<T extends Service>(svc: ServiceTypeName | string): T | null;
37
+ getServicesByType<T extends Service>(svc: ServiceTypeName | string): T[];
38
+ getAllServices(): Map<ServiceTypeName, Service[]>;
39
+ registerService(sc: ServiceClass): Promise<void>;
40
+ injectService(type: string, instance: Service): void;
41
+ getServiceLoadPromise(type: ServiceTypeName): Promise<Service>;
42
+ getRegisteredServiceTypes(): ServiceTypeName[];
43
+ hasService(type: ServiceTypeName | string): boolean;
44
+ registerPlugin(plugin: Plugin): Promise<void>;
45
+ registerProvider(p: Provider): void;
46
+ registerAction(a: Action): void;
47
+ registerEvaluator(e: Evaluator): void;
48
+ getAllActions(): Action[];
49
+ getFilteredActions(): Action[];
50
+ isActionAllowed(): {
51
+ allowed: boolean;
52
+ reason: string;
53
+ };
54
+ composeState(message: Memory, includeList?: string[] | null, _onlyInclude?: boolean, skipCache?: boolean): Promise<State>;
55
+ registerEvent(_event: string, handler: EventHandlerFn): void;
56
+ getEvent(event: string): EventHandlerFn[] | undefined;
57
+ emitEvent(event: string | string[], params: EventPayload): Promise<void>;
58
+ registerTaskWorker(tw: TaskWorker): void;
59
+ getTaskWorker(name: string): TaskWorker | undefined;
60
+ createRunId(): UUID;
61
+ startRun(): UUID;
62
+ endRun(): void;
63
+ getCurrentRunId(): UUID;
64
+ getActionResults(id: UUID): ActionResult[];
65
+ storeActionResult(id: UUID, r: ActionResult): void;
66
+ getConversationLength(): number;
67
+ isActionPlanningEnabled(): boolean;
68
+ getLLMMode(): "DEFAULT";
69
+ isCheckShouldRespondEnabled(): boolean;
70
+ initialize(): Promise<void>;
71
+ registerDatabaseAdapter(): void;
72
+ init(): Promise<void>;
73
+ isReady(): Promise<boolean>;
74
+ close(): Promise<void>;
75
+ getConnection(): Promise<object>;
76
+ ensureEmbeddingDimension(d: number): Promise<void>;
77
+ getAgent(id: UUID): Promise<Agent | null>;
78
+ getAgents(): Promise<Partial<Agent>[]>;
79
+ createAgent(a: Partial<Agent>): Promise<boolean>;
80
+ updateAgent(id: UUID, a: Partial<Agent>): Promise<boolean>;
81
+ deleteAgent(id: UUID): Promise<boolean>;
82
+ getEntitiesByIds(ids: UUID[]): Promise<Entity[] | null>;
83
+ getEntitiesForRoom(id: UUID, inc?: boolean): Promise<Entity[]>;
84
+ createEntities(e: Entity[]): Promise<boolean>;
85
+ updateEntity(e: Entity): Promise<void>;
86
+ getComponent(eid: UUID, type: string, wid?: UUID, sid?: UUID): Promise<Component | null>;
87
+ getComponents(eid: UUID, wid?: UUID, sid?: UUID): Promise<Component[]>;
88
+ createComponent(c: Component): Promise<boolean>;
89
+ updateComponent(c: Component): Promise<void>;
90
+ deleteComponent(id: UUID): Promise<void>;
91
+ getMemories(p: Parameters<InMemoryStore["getMemories"]>[0]): Promise<Memory[]>;
92
+ getMemoryById(id: UUID): Promise<Memory | null>;
93
+ getMemoriesByIds(ids: UUID[], t?: string): Promise<Memory[]>;
94
+ getMemoriesByRoomIds(p: Parameters<InMemoryStore["getMemoriesByRoomIds"]>[0]): Promise<Memory[]>;
95
+ getCachedEmbeddings(p: Parameters<InMemoryStore["getCachedEmbeddings"]>[0]): Promise<{
96
+ embedding: number[];
97
+ levenshtein_score: number;
98
+ }[]>;
99
+ searchMemories(p: Parameters<InMemoryStore["searchMemories"]>[0]): Promise<Memory[]>;
100
+ createMemory(m: Memory, t: string, u?: boolean): Promise<string>;
101
+ updateMemory(m: Partial<Memory> & {
102
+ id: UUID;
103
+ metadata?: MemoryMetadata;
104
+ }): Promise<boolean>;
105
+ deleteMemory(id: UUID): Promise<void>;
106
+ deleteManyMemories(ids: UUID[]): Promise<void>;
107
+ deleteAllMemories(rid: UUID, t: string): Promise<void>;
108
+ countMemories(rid: UUID, u?: boolean, t?: string): Promise<number>;
109
+ getRoomsByIds(ids: UUID[]): Promise<Room[] | null>;
110
+ createRooms(r: Room[]): Promise<string[]>;
111
+ deleteRoom(id: UUID): Promise<void>;
112
+ deleteRoomsByWorldId(id: UUID): Promise<void>;
113
+ updateRoom(r: Room): Promise<void>;
114
+ getRoomsForParticipant(id: UUID): Promise<string[]>;
115
+ getRoomsForParticipants(ids: UUID[]): Promise<string[]>;
116
+ getRoomsByWorld(id: UUID): Promise<Room[]>;
117
+ removeParticipant(eid: UUID, rid: UUID): Promise<boolean>;
118
+ getParticipantsForEntity(id: UUID): Promise<import("./eliza-types.js").Participant[]>;
119
+ getParticipantsForRoom(id: UUID): Promise<string[]>;
120
+ isRoomParticipant(rid: UUID, eid: UUID): Promise<boolean>;
121
+ addParticipantsRoom(ids: UUID[], rid: UUID): Promise<boolean>;
122
+ getParticipantUserState(rid: UUID, eid: UUID): Promise<"FOLLOWED" | "MUTED" | null>;
123
+ setParticipantUserState(rid: UUID, eid: UUID, s: "FOLLOWED" | "MUTED" | null): Promise<void>;
124
+ createWorld(w: World): Promise<string>;
125
+ getWorld(id: UUID): Promise<World | null>;
126
+ removeWorld(id: UUID): Promise<void>;
127
+ getAllWorlds(): Promise<World[]>;
128
+ updateWorld(w: World): Promise<void>;
129
+ createRelationship(p: Parameters<InMemoryStore["createRelationship"]>[0]): Promise<boolean>;
130
+ updateRelationship(r: Relationship): Promise<void>;
131
+ getRelationship(p: Parameters<InMemoryStore["getRelationship"]>[0]): Promise<Relationship | null>;
132
+ getRelationships(p: Parameters<InMemoryStore["getRelationships"]>[0]): Promise<Relationship[]>;
133
+ getCache<T>(k: string): Promise<T | undefined>;
134
+ setCache<T>(k: string, v: T): Promise<boolean>;
135
+ deleteCache(k: string): Promise<boolean>;
136
+ createTask(t: Task): Promise<string>;
137
+ getTasks(p: Parameters<InMemoryStore["getTasks"]>[0]): Promise<Task[]>;
138
+ getTask(id: UUID): Promise<Task | null>;
139
+ getTasksByName(n: string): Promise<Task[]>;
140
+ updateTask(id: UUID, t: Partial<Task>): Promise<void>;
141
+ deleteTask(id: UUID): Promise<void>;
142
+ log(p: {
143
+ body: LogBody;
144
+ entityId: UUID;
145
+ roomId: UUID;
146
+ type: string;
147
+ }): Promise<void>;
148
+ getLogs(p: Parameters<InMemoryStore["getLogs"]>[0]): Promise<Log[]>;
149
+ deleteLog(id: UUID): Promise<void>;
150
+ getEntityById(id: UUID): Promise<Entity | null>;
151
+ getRoom(id: UUID): Promise<Room | null>;
152
+ createEntity(e: Entity): Promise<boolean>;
153
+ createRoom(r: Room): Promise<UUID>;
154
+ addParticipant(eid: UUID, rid: UUID): Promise<boolean>;
155
+ getRooms(wid: UUID): Promise<Room[]>;
156
+ ensureParticipantInRoom(eid: UUID, rid: UUID): Promise<void>;
157
+ ensureWorldExists(w: World): Promise<void>;
158
+ ensureRoomExists(r: Room): Promise<void>;
159
+ getAllMemories(): Promise<Memory[]>;
160
+ clearAllAgentMemories(): Promise<void>;
161
+ redactSecrets(text: string): string;
162
+ useModel(): Promise<string>;
163
+ generateText(): Promise<{
164
+ text: string;
165
+ finishReason: string;
166
+ }>;
167
+ dynamicPromptExecFromState(): Promise<Record<string, unknown> | null>;
168
+ processActions(): Promise<void>;
169
+ evaluate(): Promise<null>;
170
+ sendMessageToTarget(): Promise<void>;
171
+ registerModel(): void;
172
+ getModel(): undefined;
173
+ evaluatePre(): Promise<PreEvaluatorResult>;
174
+ addEmbeddingToMemory(m: Memory): Promise<Memory>;
175
+ queueEmbeddingGeneration(): Promise<void>;
176
+ registerSendHandler(): void;
177
+ ensureConnection(p: {
178
+ entityId: UUID;
179
+ roomId: UUID;
180
+ worldId: UUID;
181
+ userName?: string;
182
+ worldName?: string;
183
+ [k: string]: unknown;
184
+ }): Promise<void>;
185
+ ensureConnections(entities: Entity[], rooms: Room[], _src: string, world: World): Promise<void>;
186
+ stop(): Promise<void>;
187
+ }
188
+ export {};
189
+ //# sourceMappingURL=runtime-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-bridge.d.ts","sourceRoot":"","sources":["../../src/runtime-bridge.ts"],"names":[],"mappings":"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"}