/** * Plain step names for Opengeni's own tools. * * Every built-in tool reads as an everyday step ("Searching the web" while it * runs, "Searched the web" once done) instead of its wire name * ("web_search_call"). Several tools share a step when a person would describe * them the same way. Hosts reword or translate a step through the catalog keys * `timeline.toolStep..running` and `timeline.toolStep..done`. * * A test keeps this map complete: adding a built-in tool without a step fails it. */ import type { OpenGeniText } from "../messages/runtime.js"; export declare const TOOL_STEP_IDS: readonly ["archiveDocument", "archiveNote", "askForHelp", "askYou", "changeModel", "checkAccounts", "checkChats", "checkDocuments", "checkModels", "checkNotes", "checkProgress", "checkProjects", "checkSchedules", "checkScreens", "checkSettings", "checkSite", "chooseChat", "completeGoal", "confirmUpdate", "coordinateWork", "createDocument", "createImage", "createSchedule", "createVideo", "deleteMessage", "deletePassword", "download", "editDocument", "editFile", "enableScreenControl", "exportDocument", "findComputers", "findGuides", "findPassword", "findTools", "listRepositories", "lookAtImage", "lookAtPage", "lookAtScreen", "manageChat", "manageSetup", "manageSignIns", "manageWorkspace", "messageAssistant", "nameChat", "noteProgress", "notify", "openBrowser", "openFile", "openScreen", "organizeProjects", "pauseGoal", "postSlack", "proposeUpdate", "readAccounting", "readGuide", "readPage", "readPosts", "readSlack", "recordBrowser", "removeComputer", "removeGuide", "replyToPost", "requestAccess", "restoreDocument", "resumeGoal", "runCode", "runCommand", "runSchedule", "saveGuide", "saveNote", "savePassword", "searchCode", "searchDocuments", "searchFiles", "searchWeb", "setGoal", "setUpComputer", "shareBrowser", "shareFile", "signIn", "startHelper", "switchComputer", "syncPosts", "tidyInbox", "updateAccounting", "updateInstructions", "updateSchedule", "updateSettings", "updateSite", "useBrowser", "useClipboard", "useComputer", "useScreen", "useTool", "wait", "withdrawNotification", "workInBrowser", "workInExcel"]; export type ToolStepId = (typeof TOOL_STEP_IDS)[number]; /** Running reads as ongoing ("Searching the web"); done as finished ("Searched the web"). */ export type ToolStepPhase = "running" | "done"; /** Every tool leaf name that has a built-in step (for completeness checks). */ export declare const BUILT_IN_TOOL_STEP_NAMES: readonly string[]; /** The plain step a built-in tool reads as, by leaf name; null for any other tool. */ export declare function builtInToolStep(leaf: string): ToolStepId | null; /** A step's words in the host's catalog: running ("Searching the web") or done ("Searched the web"). */ export declare function toolStepLabel(t: OpenGeniText, step: ToolStepId, phase: ToolStepPhase): string; /** * The phase a call's status reads in: only a call that finished reads as done. * A running, failed or interrupted call keeps the ongoing form, so its chip * ("Failed", "Interrupted") finishes the sentence. */ export declare function toolStepPhase(status: string | undefined): ToolStepPhase; /** The plain step name for a built-in tool, by leaf name; null for any other tool. */ export declare function builtInToolStepLabel(t: OpenGeniText, leaf: string, phase: ToolStepPhase): string | null;