feat(coding): add PI-105 product file host API

This commit is contained in:
2026-08-23 18:17:30 +08:00
parent 7680bfb0cf
commit 9520872d2f
17 changed files with 1419 additions and 38 deletions

View 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`,
);
}