forked from Lilly-Protocol/agentlily-runtime
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate-runtime-deps.test.ts
More file actions
65 lines (57 loc) · 2.75 KB
/
Copy pathcreate-runtime-deps.test.ts
File metadata and controls
65 lines (57 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { describe, it, expect } from "vitest";
import { createRuntimeDependencies } from "../../src/runtime/bootstrap.js";
import { InMemoryMemoryStore } from "../../src/memory/memory-store.js";
import { UnconfiguredModelProvider } from "../../src/providers/model-provider.js";
import { ConsoleRuntimeLogger } from "../../src/logger/runtime-logger.js";
import { InMemoryRuntimeStateStore } from "../../src/state/runtime-state.js";
import { RuntimeEventBus } from "../../src/events/runtime-events.js";
describe("createRuntimeDependencies default wiring (Issue #114)", () => {
it("provides all required dependency keys with non-null instances", () => {
const deps = createRuntimeDependencies({ runtimeId: "default-wiring" });
expect(deps.actionExecutor).toBeDefined();
expect(deps.agentManager).toBeDefined();
expect(deps.eventBus).toBeDefined();
expect(deps.logger).toBeDefined();
expect(deps.memoryStore).toBeDefined();
expect(deps.modelProvider).toBeDefined();
expect(deps.stateStore).toBeDefined();
expect(deps.taskRunner).toBeDefined();
expect(deps.toolRegistry).toBeDefined();
});
it("uses InMemoryMemoryStore when no memoryStore option provided", () => {
const deps = createRuntimeDependencies({ runtimeId: "default-mem" });
expect(deps.memoryStore).toBeInstanceOf(InMemoryMemoryStore);
});
it("uses UnconfiguredModelProvider when no modelProvider option provided", () => {
const deps = createRuntimeDependencies({ runtimeId: "default-model" });
expect(deps.modelProvider).toBeInstanceOf(UnconfiguredModelProvider);
});
it("uses ConsoleRuntimeLogger when no logger option provided", () => {
const deps = createRuntimeDependencies({ runtimeId: "default-logger" });
expect(deps.logger).toBeInstanceOf(ConsoleRuntimeLogger);
});
it("uses InMemoryRuntimeStateStore when no stateStore option provided", () => {
const deps = createRuntimeDependencies({ runtimeId: "default-state" });
expect(deps.stateStore).toBeInstanceOf(InMemoryRuntimeStateStore);
});
it("uses RuntimeEventBus when no eventBus option provided", () => {
const deps = createRuntimeDependencies({ runtimeId: "default-events" });
expect(deps.eventBus).toBeInstanceOf(RuntimeEventBus);
});
it("respects injected memoryStore over default", () => {
const customStore = new InMemoryMemoryStore();
const deps = createRuntimeDependencies({
runtimeId: "custom-mem",
memoryStore: customStore
});
expect(deps.memoryStore).toBe(customStore);
});
it("respects injected eventBus over default", () => {
const customBus = new RuntimeEventBus();
const deps = createRuntimeDependencies({
runtimeId: "custom-events",
eventBus: customBus
});
expect(deps.eventBus).toBe(customBus);
});
});