Files
makelore/src/lib/coding-product-tools.ts

57 lines
2.1 KiB
TypeScript

import type {
CodingFileContentResponse,
CodingFileFindResponse,
CodingFileStatusResponse,
CodingTextSearchResponse,
CodingChangesResponse,
CodingCommandsResponse,
CodingSkillsResponse,
} from '../../shared/coding-product-tools';
import { hostApiFetch } from './host-api';
export async function getCodingFileStatus(): Promise<CodingFileStatusResponse> {
return await hostApiFetch<CodingFileStatusResponse>('/api/coding/files/status');
}
export async function findCodingFiles(
query: string,
limit?: number,
): Promise<CodingFileFindResponse> {
const params = new URLSearchParams({ query });
if (limit !== undefined) params.set('limit', String(limit));
return await hostApiFetch<CodingFileFindResponse>(`/api/coding/files/find?${params.toString()}`);
}
export async function getCodingFileContent(path: string): Promise<CodingFileContentResponse> {
const params = new URLSearchParams({ path });
return await hostApiFetch<CodingFileContentResponse>(`/api/coding/files/content?${params.toString()}`);
}
export async function searchCodingText(pattern: string): Promise<CodingTextSearchResponse> {
const params = new URLSearchParams({ pattern });
return await hostApiFetch<CodingTextSearchResponse>(`/api/coding/search?${params.toString()}`);
}
export async function getCodingSkills(agentId?: string): Promise<CodingSkillsResponse> {
const params = new URLSearchParams();
if (agentId) params.set('agentId', agentId);
const query = params.toString();
return await hostApiFetch<CodingSkillsResponse>(`/api/coding/skills${query ? `?${query}` : ''}`);
}
export async function getCodingConversationCommands(
conversationId: string,
): Promise<CodingCommandsResponse> {
return await hostApiFetch<CodingCommandsResponse>(
`/api/coding/conversations/${encodeURIComponent(conversationId)}/commands`,
);
}
export async function getCodingConversationChanges(
conversationId: string,
): Promise<CodingChangesResponse> {
return await hostApiFetch<CodingChangesResponse>(
`/api/coding/conversations/${encodeURIComponent(conversationId)}/changes`,
);
}