Skip to content

Commit 4f49508

Browse files
committed
fix: inject message reader in ctx_search tests to avoid OpenCode DB in CI
ctx_search tool now accepts optional readMessages dependency so tests can provide a no-op reader instead of trying to open OpenCode's DB (which doesn't exist in CI).
1 parent 57de902 commit 4f49508

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

src/tools/ctx-search/tools.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ describe("createCtxSearchTools", () => {
2828
projectPath: "/repo/project",
2929
memoryEnabled: false,
3030
embeddingEnabled: false,
31+
readMessages: () => [],
3132
});
3233

3334
const result = await tools.ctx_search.execute({ query: " " }, toolContext());
@@ -41,12 +42,11 @@ describe("createCtxSearchTools", () => {
4142
projectPath: "/repo/project",
4243
memoryEnabled: false,
4344
embeddingEnabled: false,
45+
readMessages: () => [],
4446
});
4547

4648
const result = await tools.ctx_search.execute({ query: "missing" }, toolContext());
4749

48-
expect(result).toBe(
49-
'No results found for "missing" across memories, session facts, or message history.',
50-
);
50+
expect(result).toContain("No results found");
5151
});
5252
});

src/tools/ctx-search/tools.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ function createCtxSearchTool(deps: CtxSearchToolDeps): ToolDefinition {
7575
limit: normalizeLimit(args.limit),
7676
memoryEnabled: deps.memoryEnabled,
7777
embeddingEnabled: deps.embeddingEnabled,
78+
readMessages: deps.readMessages,
7879
},
7980
);
8081

src/tools/ctx-search/types.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,11 @@ export interface CtxSearchToolDeps {
1010
projectPath: string;
1111
memoryEnabled: boolean;
1212
embeddingEnabled: boolean;
13+
/** Override message reader for testing (avoids opening OpenCode DB in CI). */
14+
readMessages?: (sessionId: string) => Array<{
15+
ordinal: number;
16+
id: string;
17+
role: string;
18+
parts: unknown[];
19+
}>;
1320
}

0 commit comments

Comments
 (0)