feat(coding): add PI-105 product file host API
This commit is contained in:
56
src/lib/coding-product-tools.ts
Normal file
56
src/lib/coding-product-tools.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
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`,
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user