import type { ExtensionAPI } from "@earendil-works/pi-coding-agent"; import { Type } from "typebox"; import type { ActorSummary } from "../domain/actor"; import type { ActorService, CreateActorInput, RenameActorInput } from "../services/actor-service"; interface ActorCreateToolDetails { kind: "actor_create"; input: CreateActorInput; actor: ActorSummary; } interface ActorRenameToolDetails { kind: "actor_rename"; input: RenameActorInput; actor: ActorSummary; } interface ActorArchiveToolDetails { kind: "actor_archive" | "actor_unarchive"; actorId: string; actor: ActorSummary; } interface ActorMutationToolDependencies { getActorService: () => Promise; } declare const createActorCreateToolDefinition: ({ getActorService }: ActorMutationToolDependencies) => { name: string; label: string; description: string; promptSnippet: string; promptGuidelines: string[]; parameters: Type.TObject<{ id: Type.TString; displayName: Type.TString; }>; execute(_toolCallId: string, params: { id: string; displayName: string; }): Promise<{ content: { type: "text"; text: string; }[]; details: ActorCreateToolDetails; }>; }; declare const createActorRenameToolDefinition: ({ getActorService }: ActorMutationToolDependencies) => { name: string; label: string; description: string; promptSnippet: string; promptGuidelines: string[]; parameters: Type.TObject<{ actorId: Type.TString; displayName: Type.TString; }>; execute(_toolCallId: string, params: { actorId: string; displayName: string; }): Promise<{ content: { type: "text"; text: string; }[]; details: ActorRenameToolDetails; }>; }; declare const createActorArchiveToolDefinition: ({ getActorService }: ActorMutationToolDependencies) => { name: string; label: string; description: string; promptSnippet: string; promptGuidelines: string[]; parameters: Type.TObject<{ actorId: Type.TString; }>; execute(_toolCallId: string, params: { actorId: string; }): Promise<{ content: { type: "text"; text: string; }[]; details: ActorArchiveToolDetails; }>; }; declare const createActorUnarchiveToolDefinition: ({ getActorService, }: ActorMutationToolDependencies) => { name: string; label: string; description: string; promptSnippet: string; promptGuidelines: string[]; parameters: Type.TObject<{ actorId: Type.TString; }>; execute(_toolCallId: string, params: { actorId: string; }): Promise<{ content: { type: "text"; text: string; }[]; details: ActorArchiveToolDetails; }>; }; declare const registerActorMutationTools: (pi: Pick, dependencies: ActorMutationToolDependencies) => void; export type { ActorArchiveToolDetails, ActorCreateToolDetails, ActorMutationToolDependencies, ActorRenameToolDetails, }; export { createActorArchiveToolDefinition, createActorCreateToolDefinition, createActorRenameToolDefinition, createActorUnarchiveToolDefinition, registerActorMutationTools, };