openskynet / src /plugins /runtime /types.ts
Darochin's picture
Mirror OpenSkyNet workspace snapshot from Git HEAD
fc93158 verified
import type { PluginRuntimeChannel } from "./types-channel.js";
import type { PluginRuntimeCore, RuntimeLogger } from "./types-core.js";
export type { RuntimeLogger };
// ── Subagent runtime types ──────────────────────────────────────────
export type SubagentRunParams = {
sessionKey: string;
message: string;
extraSystemPrompt?: string;
lane?: string;
deliver?: boolean;
idempotencyKey?: string;
};
export type SubagentRunResult = {
runId: string;
};
export type SubagentWaitParams = {
runId: string;
timeoutMs?: number;
};
export type SubagentWaitResult = {
status: "ok" | "error" | "timeout";
error?: string;
};
export type SubagentGetSessionMessagesParams = {
sessionKey: string;
limit?: number;
};
export type SubagentGetSessionMessagesResult = {
messages: unknown[];
};
/** @deprecated Use SubagentGetSessionMessagesParams. */
export type SubagentGetSessionParams = SubagentGetSessionMessagesParams;
/** @deprecated Use SubagentGetSessionMessagesResult. */
export type SubagentGetSessionResult = SubagentGetSessionMessagesResult;
export type SubagentDeleteSessionParams = {
sessionKey: string;
deleteTranscript?: boolean;
};
export type PluginRuntime = PluginRuntimeCore & {
subagent: {
run: (params: SubagentRunParams) => Promise<SubagentRunResult>;
waitForRun: (params: SubagentWaitParams) => Promise<SubagentWaitResult>;
getSessionMessages: (
params: SubagentGetSessionMessagesParams,
) => Promise<SubagentGetSessionMessagesResult>;
/** @deprecated Use getSessionMessages. */
getSession: (params: SubagentGetSessionParams) => Promise<SubagentGetSessionResult>;
deleteSession: (params: SubagentDeleteSessionParams) => Promise<void>;
};
channel: PluginRuntimeChannel;
};