huskies: merge 949

This commit is contained in:
dave
2026-05-13 07:10:00 +00:00
parent d87722f6c8
commit 4a0fbcaa95
15 changed files with 1454 additions and 231 deletions
+26 -28
View File
@@ -6,6 +6,12 @@
*/
import { rpcCall } from "../rpc";
import type {
OkResult,
OpenProjectResult,
SetAnthropicApiKeyParams,
SetModelPreferenceParams,
} from "../rpcContract";
import type {
AllTokenUsageResponse,
AnthropicModelInfo,
@@ -94,32 +100,25 @@ export const api = {
getKnownProjects(_baseUrl?: string) {
return rpcCall<string[]>("project.known");
},
forgetKnownProject(path: string, baseUrl?: string) {
return requestJson<boolean>(
"/projects/forget",
{ method: "POST", body: JSON.stringify({ path }) },
baseUrl,
);
async forgetKnownProject(path: string, _baseUrl?: string) {
const r = await rpcCall<OkResult>("project.forget", { path });
return r.ok;
},
openProject(path: string, baseUrl?: string) {
return requestJson<string>(
"/project",
{ method: "POST", body: JSON.stringify({ path }) },
baseUrl,
);
async openProject(path: string, _baseUrl?: string) {
const r = await rpcCall<OpenProjectResult>("project.open", { path });
return r.path;
},
closeProject(baseUrl?: string) {
return requestJson<boolean>("/project", { method: "DELETE" }, baseUrl);
async closeProject(_baseUrl?: string) {
const r = await rpcCall<OkResult>("project.close");
return r.ok;
},
getModelPreference(_baseUrl?: string) {
return rpcCall<string | null>("model.get_preference");
},
setModelPreference(model: string, baseUrl?: string) {
return requestJson<boolean>(
"/model",
{ method: "POST", body: JSON.stringify({ model }) },
baseUrl,
);
async setModelPreference(model: string, _baseUrl?: string) {
const params: SetModelPreferenceParams = { model };
const r = await rpcCall<OkResult>("model.set_preference", params);
return r.ok;
},
getOllamaModels(baseUrlParam?: string, _baseUrl?: string) {
return rpcCall<string[]>(
@@ -133,12 +132,10 @@ export const api = {
getAnthropicModels(_baseUrl?: string) {
return rpcCall<AnthropicModelInfo[]>("anthropic.list_models");
},
setAnthropicApiKey(api_key: string, baseUrl?: string) {
return requestJson<boolean>(
"/anthropic/key",
{ method: "POST", body: JSON.stringify({ api_key }) },
baseUrl,
);
async setAnthropicApiKey(api_key: string, _baseUrl?: string) {
const params: SetAnthropicApiKeyParams = { api_key };
const r = await rpcCall<OkResult>("anthropic.set_api_key", params);
return r.ok;
},
readFile(path: string, baseUrl?: string) {
return requestJson<string>(
@@ -195,8 +192,9 @@ export const api = {
baseUrl,
);
},
cancelChat(baseUrl?: string) {
return requestJson<boolean>("/chat/cancel", { method: "POST" }, baseUrl);
async cancelChat(_baseUrl?: string) {
const r = await rpcCall<OkResult>("chat.cancel");
return r.ok;
},
getWorkItemContent(storyId: string, _baseUrl?: string) {
return rpcCall<WorkItemContent>("work_items.get", { story_id: storyId });