feat(core): add command, intent, and routing primitives

This commit is contained in:
William Valentin
2026-02-12 22:47:22 -08:00
parent 7ae0fb51c2
commit 6e8984f788
25 changed files with 1469 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
import type { GatewayRequest, OutboundMessage } from '../protocol.js';
import { makeError, makeResponse, ErrorCode } from '../protocol.js';
import type { SessionManager } from '../../session/manager.js';
export interface HistoryHandlerDeps {
sessionManager: SessionManager;
}
export function createHistoryHandlers(deps: HistoryHandlerDeps) {
return {
'history.search': async (request: GatewayRequest): Promise<OutboundMessage> => {
const params = request.params as { query?: string; sessionId?: string; limit?: number } | undefined;
if (!params?.query) {
return makeError(request.id, ErrorCode.InvalidRequest, 'query is required');
}
const results = deps.sessionManager.searchHistory(params.query, {
sessionId: params.sessionId,
limit: params.limit,
});
return makeResponse(request.id, { results });
},
'history.reindex': async (request: GatewayRequest): Promise<OutboundMessage> => {
const reindexed = deps.sessionManager.reindexHistory();
return makeResponse(request.id, { reindexed });
},
};
}