168 lines
8.1 KiB
TypeScript
168 lines
8.1 KiB
TypeScript
/**
|
|
* This file was generated by @pikku/cli@0.12.76
|
|
*/
|
|
/**
|
|
* This provides the structure needed for typescript to be aware of RPCs and their return types
|
|
*/
|
|
|
|
|
|
import type { StubCall } from '.bun/@pikku+core@0.12.57/node_modules/@pikku/core/dist/services/stub-tracker'
|
|
import type { FunctionCoverageReport } from '.bun/@pikku+core@0.12.57/node_modules/@pikku/core/dist/services/v8-coverage-service'
|
|
|
|
export type AgentApproveCallerInput = { agentName: string; runId: string; approvals: { toolCallId: string; approved: boolean; }[]; }
|
|
export type AgentCallerInput = { agentName: string; message: string; threadId: string; resourceId: string; }
|
|
export type AgentResumeCallerInput = { agentName: string; runId: string; toolCallId: string; approved: boolean; }
|
|
export type AgentStreamCallerInput = { agentName: string; message: string; threadId: string; resourceId: string; context?: string | undefined; }
|
|
export type AuthHandlerOutput = Promise<void> | Promise<any>
|
|
export type DeleteAgentThreadInput = { threadId: string; resourceId?: string | undefined; }
|
|
export type DeleteAgentThreadOutput = { deleted: boolean; }
|
|
export type GetAgentThreadMessagesInput = { threadId: string; resourceId?: string | undefined; }
|
|
export type GetAgentThreadMessagesOutput = any[]
|
|
export type GetAgentThreadRunsInput = { threadId: string; resourceId?: string | undefined; }
|
|
export type GetAgentThreadRunsOutput = any[]
|
|
export type GetAgentThreadsInput = { agentName?: string | undefined; resourceId?: string | undefined; limit?: number | undefined; offset?: number | undefined; }
|
|
export type GetAgentThreadsOutput = any[]
|
|
export type GetSessionInput = {}
|
|
export type GetSessionOutput = {
|
|
userId: string;
|
|
email: string;
|
|
name: string | null;
|
|
}
|
|
export type GraphStarterInput = { workflowName: string; nodeId: string; data?: unknown; }
|
|
export type GraphStarterOutput = { runId: string; }
|
|
export type PikkuConsoleGetSecretInput = { secretId: string; }
|
|
export type PikkuConsoleGetSecretOutput = { exists: boolean; value: unknown; }
|
|
export type PikkuConsoleGetVariableInput = { variableId: string; }
|
|
export type PikkuConsoleGetVariableOutput = { exists: boolean; value: unknown; }
|
|
export type PikkuConsoleHasSecretInput = { secretId: string; }
|
|
export type PikkuConsoleHasSecretOutput = { exists: boolean; }
|
|
export type PikkuConsoleSetSecretInput = { secretId: string; value: unknown; }
|
|
export type PikkuConsoleSetSecretOutput = { success: boolean; }
|
|
export type PikkuConsoleSetVariableInput = { variableId: string; value: unknown; }
|
|
export type PikkuConsoleSetVariableOutput = { success: boolean; }
|
|
export type PikkuScenarioGetStubCallsInput = { service?: string | undefined; }
|
|
export type PikkuScenarioGetStubCallsOutput = StubCall[]
|
|
export type PikkuScenarioResetLiveCoverageOutput = { enabled: boolean; }
|
|
export type PikkuScenarioResetStubsOutput = { enabled: boolean; }
|
|
export type RealtimeEventStreamInput = { topic: string; }
|
|
export type RealtimeSubscribeInput = { topic: string; }
|
|
export type RealtimeUnsubscribeInput = { topic: string; }
|
|
export type RpcCallerInput = { rpcName: string; data?: unknown; }
|
|
export type SecretSchema_betterAuthSecret = string
|
|
export type SessionHealthScenarioOutput = { email: string; userId: string; }
|
|
export type WorkflowRunnerInput = { workflowName: string; data?: unknown; }
|
|
export type WorkflowStarterInput = { workflowName: string; data?: unknown; }
|
|
export type WorkflowStarterOutput = { runId: string; }
|
|
export type WorkflowStatusCheckerInput = { workflowName: string; runId: string; }
|
|
export type WorkflowStatusStreamFullInput = { workflowName: string; runId: string; }
|
|
export type WorkflowStatusStreamInput = { workflowName: string; runId: string; }
|
|
|
|
interface RPCHandler<I, O> {
|
|
input: I;
|
|
output: O;
|
|
}
|
|
|
|
export type RPCMap = {
|
|
readonly 'getSession': RPCHandler<GetSessionInput, GetSessionOutput>,
|
|
readonly 'getAgentThreads': RPCHandler<GetAgentThreadsInput, GetAgentThreadsOutput>,
|
|
readonly 'getAgentThreadMessages': RPCHandler<GetAgentThreadMessagesInput, GetAgentThreadMessagesOutput>,
|
|
readonly 'getAgentThreadRuns': RPCHandler<GetAgentThreadRunsInput, GetAgentThreadRunsOutput>,
|
|
readonly 'deleteAgentThread': RPCHandler<DeleteAgentThreadInput, DeleteAgentThreadOutput>,
|
|
readonly 'pikkuConsoleSetSecret': RPCHandler<PikkuConsoleSetSecretInput, PikkuConsoleSetSecretOutput>,
|
|
readonly 'pikkuConsoleGetVariable': RPCHandler<PikkuConsoleGetVariableInput, PikkuConsoleGetVariableOutput>,
|
|
readonly 'pikkuConsoleSetVariable': RPCHandler<PikkuConsoleSetVariableInput, PikkuConsoleSetVariableOutput>,
|
|
readonly 'pikkuConsoleHasSecret': RPCHandler<PikkuConsoleHasSecretInput, PikkuConsoleHasSecretOutput>,
|
|
readonly 'pikkuConsoleGetSecret': RPCHandler<PikkuConsoleGetSecretInput, PikkuConsoleGetSecretOutput>,
|
|
readonly 'pikkuScenarioTakeLiveCoverage': RPCHandler<null, FunctionCoverageReport>,
|
|
readonly 'pikkuScenarioResetLiveCoverage': RPCHandler<null, PikkuScenarioResetLiveCoverageOutput>,
|
|
readonly 'pikkuScenarioResetStubs': RPCHandler<null, PikkuScenarioResetStubsOutput>,
|
|
readonly 'pikkuScenarioGetStubCalls': RPCHandler<PikkuScenarioGetStubCallsInput, PikkuScenarioGetStubCallsOutput>,
|
|
};
|
|
|
|
|
|
// Addon package RPC maps
|
|
import type { RPCMap as ConsoleRPCMap } from '@pikku/addon-console/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.js'
|
|
|
|
|
|
// Utility type to prefix keys with namespace (skips 'any' to prevent type poisoning)
|
|
type PrefixKeys<T, Prefix extends string> = unknown extends T ? {} : {
|
|
[K in keyof T as `${Prefix}:${string & K}`]: T[K]
|
|
}
|
|
|
|
// Merge all RPC maps with namespace prefixes
|
|
export type FlattenedRPCMap =
|
|
RPCMap & PrefixKeys<ConsoleRPCMap, 'console'>
|
|
|
|
type IsAny<T> = 0 extends (1 & T) ? true : false
|
|
type IsVoidishInput<T> = IsAny<T> extends true
|
|
? false
|
|
: [T] extends [void | null | undefined]
|
|
? true
|
|
: false
|
|
|
|
|
|
export type RPCInvoke = <Name extends keyof FlattenedRPCMap>(
|
|
...args: IsVoidishInput<FlattenedRPCMap[Name]['input']> extends true
|
|
? [name: Name]
|
|
: [name: Name, data: FlattenedRPCMap[Name]['input']]
|
|
) => Promise<FlattenedRPCMap[Name]['output']>
|
|
|
|
export type RPCRemote = <Name extends keyof FlattenedRPCMap>(
|
|
...args: IsVoidishInput<FlattenedRPCMap[Name]['input']> extends true
|
|
? [name: Name]
|
|
: [name: Name, data: FlattenedRPCMap[Name]['input']]
|
|
) => Promise<FlattenedRPCMap[Name]['output']>
|
|
|
|
import type { FlattenedWorkflowMap } from '../workflow/pikku-workflow-map.gen.d.js'
|
|
|
|
import type { AgentMap } from '../agent/pikku-agent-map.gen.d.js'
|
|
|
|
// Addon package Agent maps
|
|
import type { AgentMap as ConsoleAgentMap } from '@pikku/addon-console/.pikku/agent/pikku-agent-map.gen.d.js'
|
|
|
|
|
|
type FlattenedAgentMap =
|
|
AgentMap & PrefixKeys<ConsoleAgentMap, 'console'>
|
|
|
|
|
|
import type { PikkuRPC } from '@pikku/core/rpc'
|
|
|
|
interface AIAgentInput {
|
|
message: string
|
|
threadId: string
|
|
resourceId: string
|
|
}
|
|
|
|
export type TypedStartWorkflow = <Name extends keyof FlattenedWorkflowMap>(
|
|
name: Name,
|
|
input: FlattenedWorkflowMap[Name]['input'],
|
|
options?: { startNode?: string }
|
|
) => Promise<{ runId: string }>
|
|
|
|
export type TypedRunWorkflow = <Name extends keyof FlattenedWorkflowMap>(
|
|
name: Name,
|
|
input: FlattenedWorkflowMap[Name]['input']
|
|
) => Promise<FlattenedWorkflowMap[Name]['output']>
|
|
|
|
export type TypedWorkflowStatus = (
|
|
workflowName: string,
|
|
runId: string
|
|
) => Promise<{ id: string; status: 'running' | 'suspended' | 'completed' | 'failed' | 'cancelled'; output?: unknown; error?: { message?: string } }>
|
|
|
|
type TypedAgentRun = [keyof FlattenedAgentMap] extends [never]
|
|
? (name: string, input: AIAgentInput) => Promise<any>
|
|
: <Name extends keyof FlattenedAgentMap>(
|
|
name: Name,
|
|
input: AIAgentInput
|
|
) => Promise<{ runId: string; result: FlattenedAgentMap[Name]['output']; usage: { inputTokens: number; outputTokens: number } }>
|
|
|
|
type TypedAgentStream = [keyof FlattenedAgentMap] extends [never]
|
|
? (name: string, input: AIAgentInput, options?: { requiresToolApproval?: 'all' | 'explicit' | false }) => Promise<void>
|
|
: <Name extends keyof FlattenedAgentMap>(
|
|
name: Name,
|
|
input: AIAgentInput,
|
|
options?: { requiresToolApproval?: 'all' | 'explicit' | false }
|
|
) => Promise<void>
|
|
|
|
export type TypedPikkuRPC = PikkuRPC<RPCInvoke, RPCRemote, TypedStartWorkflow, TypedAgentRun, TypedAgentStream>
|
|
|