opencontrol
Version:
229 lines • 7.95 kB
TypeScript
import { Hono } from "hono";
import { Tool } from "./tool.js";
import { LanguageModelV1, LanguageModelV1CallOptions } from "ai";
export interface OpenControlOptions {
tools: Tool[];
password?: string;
model?: LanguageModelV1;
app?: Hono;
}
export type App = ReturnType<typeof create>;
export declare function create(input: OpenControlOptions): import("hono/hono-base").HonoBase<{}, {
"/": {
$get: {
input: {};
output: {};
outputFormat: string;
status: import("hono/utils/http-status").StatusCode;
};
};
} & {
"/auth": {
$get: {
input: {};
output: {};
outputFormat: "json";
status: import("hono/utils/http-status").ContentfulStatusCode;
};
};
} & {
"/generate": {
$post: {
input: {
json: LanguageModelV1CallOptions;
};
output: {
text?: string | undefined;
reasoning?: string | ({
type: "text";
text: string;
signature?: string | undefined;
} | {
type: "redacted";
data: string;
})[] | undefined;
files?: {
data: string | {
[x: number]: number;
readonly BYTES_PER_ELEMENT: number;
readonly buffer: {
readonly byteLength: number;
slice: {};
} | {
readonly byteLength: number;
slice: {};
};
readonly byteLength: number;
readonly byteOffset: number;
copyWithin: {};
every: {};
fill: {};
filter: {};
find: {};
findIndex: {};
forEach: {};
indexOf: {};
join: {};
lastIndexOf: {};
readonly length: number;
map: {};
reduce: {};
reduceRight: {};
set: {};
slice: {};
some: {};
sort: {};
subarray: {};
includes: {};
at: {};
findLast: {};
findLastIndex: {};
toSorted: {};
with: {};
};
mimeType: string;
}[] | undefined;
toolCalls?: {
toolCallType: "function";
toolCallId: string;
toolName: string;
args: string;
}[] | undefined;
finishReason: import("@ai-sdk/provider").LanguageModelV1FinishReason;
usage: {
promptTokens: number;
completionTokens: number;
};
rawCall: {
rawPrompt: never;
rawSettings: {
[x: string]: never;
};
};
rawResponse?: {
headers?: {
[x: string]: string;
} | undefined;
body?: undefined;
} | undefined;
request?: {
body?: string | undefined;
} | undefined;
response?: {
id?: string | undefined;
timestamp?: string | undefined;
modelId?: string | undefined;
} | undefined;
warnings?: ({
type: "unsupported-setting";
setting: keyof {
maxTokens?: number;
temperature?: number;
stopSequences?: string[];
topP?: number;
topK?: number;
presencePenalty?: number;
frequencyPenalty?: number;
responseFormat?: {
type: "text";
} | {
type: "json";
schema?: JSONSchema7;
name?: string;
description?: string;
};
seed?: number;
abortSignal?: AbortSignal;
headers?: Record<string, string | undefined>;
};
details?: string | undefined;
} | {
type: "unsupported-tool";
tool: {
type: "function";
name: string;
description?: string | undefined;
parameters: JSONSchema7;
} | {
type: "provider-defined";
id: `${string}.${string}`;
name: string;
args: {
[x: string]: never;
};
};
details?: string | undefined;
} | {
type: "other";
message: string;
})[] | undefined;
providerMetadata?: {
[x: string]: {
[x: string]: any;
};
} | undefined;
sources?: {
sourceType: "url";
id: string;
url: string;
title?: string | undefined;
providerMetadata?: {
[x: string]: {
[x: string]: any;
};
} | undefined;
}[] | undefined;
logprobs?: {
token: string;
logprob: number;
topLogprobs: {
token: string;
logprob: number;
}[];
}[] | undefined;
};
outputFormat: "json";
status: import("hono/utils/http-status").ContentfulStatusCode;
};
};
} & {
"/mcp": {
$post: {
input: {};
output: {
jsonrpc: "2.0";
id: string | number;
result: {
content: {
type: "text";
text: string;
}[];
} | {
protocolVersion: string;
capabilities: {
tools: {};
};
serverInfo: {
name: string;
version: string;
};
} | {
tools: {
name: string;
inputSchema: any;
description: string;
}[];
} | {
isError: true;
content: {
type: "text";
text: string;
}[];
};
};
outputFormat: "json";
status: import("hono/utils/http-status").ContentfulStatusCode;
};
};
}, "/">;
//# sourceMappingURL=index.d.ts.map