Skip to content

roomTools

const roomTools: object

Defined in: tools/src/index.ts:500

readonly act_live_browser: object

readonly description: "Act on the page in the shared live browser: navigate to a URL, click a reference, type into a field (optionally pressing Enter), press a key, scroll, or wait. Actions run in order and stop at the first failure. The result is the page afterwards, with fresh references and what changed, so read it before the next action. Everyone watching sees your pointer move. If a person is driving the browser the action fails with their name: stop, say what you were about to do, and wait instead of retrying. Never type a password, card number or one-time code the user did not hand you in this conversation." = "Act on the page in the shared live browser: navigate to a URL, click a reference, type into a field (optionally pressing Enter), press a key, scroll, or wait. Actions run in order and stop at the first failure. The result is the page afterwards, with fresh references and what changed, so read it before the next action. Everyone watching sees your pointer move. If a person is driving the browser the action fails with their name: stop, say what you were about to do, and wait instead of retrying. Never type a password, card number or one-time code the user did not hand you in this conversation."

readonly effect: "write" = "write"

readonly kinds: readonly ["browser"]

readonly name: "act_live_browser" = "act_live_browser"

readonly schema: object

readonly actions: ZodArray<ZodDiscriminatedUnion<"type", [ZodObject<{ type: ZodLiteral<"navigate">; url: ZodString; }, "strip", ZodTypeAny, { type: "navigate"; url: string; }, { type: "navigate"; url: string; }>, ZodObject<{ ref: ZodString; type: ZodLiteral<"click">; }, "strip", ZodTypeAny, { ref: string; type: "click"; }, { ref: string; type: "click"; }>, ZodObject<{ ref: ZodString; submit: ZodOptional<ZodBoolean>; text: ZodString; type: ZodLiteral<"type">; }, "strip", ZodTypeAny, { ref: string; submit?: boolean; text: string; type: "type"; }, { ref: string; submit?: boolean; text: string; type: "type"; }>]>, "many">

readonly doc_id: ZodString = browserIdSchema

readonly act_live_desktop: object

readonly description: "Act on the shared live desktop with the mouse and keyboard: move, click or double-click at screen coordinates, drag, scroll, press keys, type text, open a URL or file, launch an application, or wait. Actions run in order and stop at the first failure. The result is a fresh screenshot, so look at it before the next step. Everyone watching sees your pointer. If a person is driving the desktop the action fails with their name: stop, say what you were about to do, and wait instead of retrying. Never type a password, card number or one-time code the user did not hand you in this conversation." = "Act on the shared live desktop with the mouse and keyboard: move, click or double-click at screen coordinates, drag, scroll, press keys, type text, open a URL or file, launch an application, or wait. Actions run in order and stop at the first failure. The result is a fresh screenshot, so look at it before the next step. Everyone watching sees your pointer. If a person is driving the desktop the action fails with their name: stop, say what you were about to do, and wait instead of retrying. Never type a password, card number or one-time code the user did not hand you in this conversation."

readonly effect: "write" = "write"

readonly kinds: readonly ["desktop"]

readonly name: "act_live_desktop" = "act_live_desktop"

readonly schema: object

readonly actions: ZodArray<ZodDiscriminatedUnion<"type", [ZodObject<{ type: ZodLiteral<"move">; x: ZodNumber; y: ZodNumber; }, "strip", ZodTypeAny, { type: "move"; x: number; y: number; }, { type: "move"; x: number; y: number; }>, ZodObject<{ button: ZodOptional<ZodEnum<[…, …, …]>>; count: ZodOptional<ZodUnion<[…, …]>>; type: ZodLiteral<"click">; x: ZodNumber; y: ZodNumber; }, "strip", ZodTypeAny, { button?: "left" | "right" | "middle"; count?: 1 | 2; type: "click"; x: number; y: number; }, { button?: "left" | "right" | "middle"; count?: 1 | 2; type: "click"; x: number; y: number; }>, ZodObject<{ from: ZodArray<ZodNumber, "many">; to: ZodArray<ZodNumber, "many">; type: ZodLiteral<"drag">; }, "strip", ZodTypeAny, { from: number[]; to: number[]; type: "drag"; }, { from: number[]; to: number[]; type: "drag"; }>]>, "many">

readonly doc_id: ZodString = desktopIdSchema

readonly comment_live_doc: object

readonly description: "Add a comment to a live doc: open a comment thread on a block, or reply in an existing thread. Use it to answer a person who mentioned you in a comment, and to leave a review note on text you were not asked to change instead of editing it. get_live_doc_outline lists open threads with their ids." = "Add a comment to a live doc: open a comment thread on a block, or reply in an existing thread. Use it to answer a person who mentioned you in a comment, and to leave a review note on text you were not asked to change instead of editing it. get_live_doc_outline lists open threads with their ids."

readonly effect: "write" = "write"

readonly kinds: readonly ["doc"]

readonly name: "comment_live_doc" = "comment_live_doc"

readonly schema: object

readonly block_id: ZodOptional<ZodString>

readonly body: ZodString

readonly doc_id: ZodString = docIdSchema

readonly quote: ZodOptional<ZodString>

readonly thread_id: ZodOptional<ZodString>

readonly create_live_canvas: object

readonly description: "Create a live canvas: a whiteboard the user and agents draw on together in real time, shown as a card in this conversation. Use it for flowcharts, processes, org charts, architecture diagrams and timelines. Lay out the main boxes first so the user sees the layout within a second, then fill in the rest with edit_live_canvas. If this conversation already has a live canvas with the same title, return that canvas instead of creating a duplicate." = "Create a live canvas: a whiteboard the user and agents draw on together in real time, shown as a card in this conversation. Use it for flowcharts, processes, org charts, architecture diagrams and timelines. Lay out the main boxes first so the user sees the layout within a second, then fill in the rest with edit_live_canvas. If this conversation already has a live canvas with the same title, return that canvas instead of creating a duplicate."

readonly effect: "create" = "create"

readonly kinds: readonly ["canvas"]

readonly name: "create_live_canvas" = "create_live_canvas"

readonly schema: object

readonly shapes: ZodArray<ZodObject<{ color: ZodOptional<ZodString>; fill: ZodOptional<ZodString>; height: ZodOptional<ZodNumber>; id: ZodOptional<ZodString>; label: ZodOptional<ZodString>; type: ZodEnum<["rectangle", "ellipse", "diamond", "text"]>; width: ZodOptional<ZodNumber>; x: ZodNumber; y: ZodNumber; }, "strip", ZodTypeAny, { color?: string; fill?: string; height?: number; id?: string; label?: string; type: "text" | "rectangle" | "ellipse" | "diamond"; width?: number; x: number; y: number; }, { color?: string; fill?: string; height?: number; id?: string; label?: string; type: "text" | "rectangle" | "ellipse" | "diamond"; width?: number; x: number; y: number; }>, "many">

readonly title: ZodString

readonly create_live_doc: object

readonly description: "Create a live doc that the user and agents co-edit in real time, with a card in this conversation. Returns its id and outline with block ids. If this conversation already has a live doc with the same title, return that doc instead of creating a duplicate. Start with a skeleton (headings, at most one line each), then fill sections with edit_live_doc." = "Create a live doc that the user and agents co-edit in real time, with a card in this conversation. Returns its id and outline with block ids. If this conversation already has a live doc with the same title, return that doc instead of creating a duplicate. Start with a skeleton (headings, at most one line each), then fill sections with edit_live_doc."

readonly effect: "create" = "create"

readonly kinds: readonly ["doc"]

readonly name: "create_live_doc" = "create_live_doc"

readonly schema: object

readonly markdown: ZodString

readonly title: ZodString

readonly create_live_sheet: object

readonly description: "Create a live sheet: a spreadsheet the user and agents edit together in real time, with formulas, shown as a card in this conversation. Use it for numbers across rows and columns, comparisons, budgets, pricing and trackers. Put the header row first, then the first rows of data; fill the rest with edit_live_sheet. If this conversation already has a live sheet with the same title, return that sheet instead of creating a duplicate." = "Create a live sheet: a spreadsheet the user and agents edit together in real time, with formulas, shown as a card in this conversation. Use it for numbers across rows and columns, comparisons, budgets, pricing and trackers. Put the header row first, then the first rows of data; fill the rest with edit_live_sheet. If this conversation already has a live sheet with the same title, return that sheet instead of creating a duplicate."

readonly effect: "create" = "create"

readonly kinds: readonly ["sheet"]

readonly name: "create_live_sheet" = "create_live_sheet"

readonly schema: object

readonly title: ZodString

readonly values: ZodArray<ZodArray<ZodString, "many">, "many"> = sheetValuesSchema

readonly create_live_slides: object

readonly description: "Create live slides: a presentation the user and agents edit together in real time, shown as a card in this conversation. Use it when the user wants to present, pitch or walk someone through something. Choose a layout for each page and fill its slots (title, subtitle, bullets, chart, quote, image); the theme handles fonts, colours and placement, so never position text yourself. One idea per page, at most five short bullets, and what to say in notes. If this conversation already has live slides with the same title, return them instead of creating a duplicate." = "Create live slides: a presentation the user and agents edit together in real time, shown as a card in this conversation. Use it when the user wants to present, pitch or walk someone through something. Choose a layout for each page and fill its slots (title, subtitle, bullets, chart, quote, image); the theme handles fonts, colours and placement, so never position text yourself. One idea per page, at most five short bullets, and what to say in notes. If this conversation already has live slides with the same title, return them instead of creating a duplicate."

readonly effect: "create" = "create"

readonly kinds: readonly ["slides"]

readonly name: "create_live_slides" = "create_live_slides"

readonly schema: object

readonly slides: ZodArray<ZodObject<{ attribution: ZodOptional<ZodString>; bullets: ZodOptional<ZodArray<ZodString, "many">>; chart: ZodOptional<ZodObject<{ labels: ZodArray<ZodString, "many">; series: ZodOptional<ZodArray<…, …>>; type: ZodEnum<[…, …, …]>; values: ZodOptional<ZodArray<…, …>>; }, "strip", ZodTypeAny, { labels: string[]; series?: …[]; type: "bar" | "line" | "pie"; values?: …[]; }, { labels: string[]; series?: …[]; type: "bar" | "line" | "pie"; values?: …[]; }>>; id: ZodOptional<ZodString>; image: ZodOptional<ZodObject<{ alt: ZodString; url: ZodString; }, "strip", ZodTypeAny, { alt: string; url: string; }, { alt: string; url: string; }>>; layout: ZodDefault<ZodEnum<["title", "title_bullets", "section", "two_column", "chart_takeaway", "image_full", "quote", "closing"]>>; notes: ZodOptional<ZodString>; quote: ZodOptional<ZodString>; right_bullets: ZodOptional<ZodArray<ZodString, "many">>; subtitle: ZodOptional<ZodString>; title: ZodOptional<ZodString>; }, "strip", ZodTypeAny, { attribution?: string; bullets?: string[]; chart?: { labels: string[]; series?: object[]; type: "bar" | "line" | "pie"; values?: number[]; }; id?: string; image?: { alt: string; url: string; }; layout: "title" | "title_bullets" | "section" | "two_column" | "chart_takeaway" | "image_full" | "quote" | "closing"; notes?: string; quote?: string; right_bullets?: string[]; subtitle?: string; title?: string; }, { attribution?: string; bullets?: string[]; chart?: { labels: string[]; series?: object[]; type: "bar" | "line" | "pie"; values?: number[]; }; id?: string; image?: { alt: string; url: string; }; layout?: "title" | "title_bullets" | "section" | "two_column" | "chart_takeaway" | "image_full" | "quote" | "closing"; notes?: string; quote?: string; right_bullets?: string[]; subtitle?: string; title?: string; }>, "many">

readonly theme: ZodOptional<ZodEnum<["studio", "midnight"]>>

readonly title: ZodString

readonly edit_live_canvas: object

readonly description: "Edit a live canvas or live slides. On a canvas: add a shape, connect shapes with an arrow, relabel, recolour, move or resize a shape, delete shapes. On live slides: add, update, move or delete pages by filling layout slots, switch the theme, or adjust one element by its id. Edits appear one at a time with your pointer visible to everyone. Refer to ids from read_live_canvas or your earlier ops. Use mode 'suggest' for binding content (prices, dates, commitments, anything another company or a named approver will rely on): suggested edits stay pending until a person accepts. Use mode 'edit' for your own new content. An edit to something a person made becomes a suggestion for them automatically." = "Edit a live canvas or live slides. On a canvas: add a shape, connect shapes with an arrow, relabel, recolour, move or resize a shape, delete shapes. On live slides: add, update, move or delete pages by filling layout slots, switch the theme, or adjust one element by its id. Edits appear one at a time with your pointer visible to everyone. Refer to ids from read_live_canvas or your earlier ops. Use mode 'suggest' for binding content (prices, dates, commitments, anything another company or a named approver will rely on): suggested edits stay pending until a person accepts. Use mode 'edit' for your own new content. An edit to something a person made becomes a suggestion for them automatically."

readonly effect: "write" = "write"

readonly kinds: readonly ["canvas", "slides"]

readonly name: "edit_live_canvas" = "edit_live_canvas"

readonly schema: object

readonly approver: ZodOptional<ZodString>

readonly doc_id: ZodString = canvasIdSchema

readonly mode: ZodEnum<["edit", "suggest"]>

readonly ops: ZodArray<ZodDiscriminatedUnion<"type", [ZodObject<{ shapes: ZodArray<ZodObject<{ color: …; fill: …; height: …; id: …; label: …; type: …; width: …; x: …; y: …; }, "strip", ZodTypeAny, { color?: …; fill?: …; height?: …; id?: …; label?: …; type: …; width?: …; x: …; y: …; }, { color?: …; fill?: …; height?: …; id?: …; label?: …; type: …; width?: …; x: …; y: …; }>, "many">; type: ZodLiteral<"add_shapes">; }, "strip", ZodTypeAny, { shapes: object[]; type: "add_shapes"; }, { shapes: object[]; type: "add_shapes"; }>, ZodObject<{ arrows: ZodArray<ZodObject<{ color: …; from: …; id: …; label: …; to: …; }, "strip", ZodTypeAny, { color?: …; from: …; id?: …; label?: …; to: …; }, { color?: …; from: …; id?: …; label?: …; to: …; }>, "many">; type: ZodLiteral<"connect">; }, "strip", ZodTypeAny, { arrows: object[]; type: "connect"; }, { arrows: object[]; type: "connect"; }>, ZodObject<{ type: ZodLiteral<"update_shapes">; updates: ZodArray<ZodObject<{ color: …; fill: …; height: …; id: …; label: …; width: …; x: …; y: …; }, "strip", ZodTypeAny, { color?: …; fill?: …; height?: …; id: …; label?: …; width?: …; x?: …; y?: …; }, { color?: …; fill?: …; height?: …; id: …; label?: …; width?: …; x?: …; y?: …; }>, "many">; }, "strip", ZodTypeAny, { type: "update_shapes"; updates: object[]; }, { type: "update_shapes"; updates: object[]; }>]>, "many">

readonly edit_live_doc: object

readonly description: "Edit a live doc with block operations: insert Markdown after a block, replace a block, or delete a block. Edits stream in with your cursor visible to everyone in the doc. Use mode 'suggest' for binding content (prices, terms, dates, commitments, anything another company or a named approver will rely on): suggestions show as underlined or struck-through text and change nothing until a person accepts them. Use mode 'edit' for drafting your own new sections." = "Edit a live doc with block operations: insert Markdown after a block, replace a block, or delete a block. Edits stream in with your cursor visible to everyone in the doc. Use mode 'suggest' for binding content (prices, terms, dates, commitments, anything another company or a named approver will rely on): suggestions show as underlined or struck-through text and change nothing until a person accepts them. Use mode 'edit' for drafting your own new sections."

readonly effect: "write" = "write"

readonly kinds: readonly ["doc"]

readonly name: "edit_live_doc" = "edit_live_doc"

readonly schema: object

readonly approver: ZodOptional<ZodString>

readonly doc_id: ZodString = docIdSchema

readonly mode: ZodEnum<["edit", "suggest"]>

readonly ops: ZodArray<ZodDiscriminatedUnion<"type", [ZodObject<{ after_block_id: ZodNullable<ZodString>; markdown: ZodString; type: ZodLiteral<"insert">; }, "strip", ZodTypeAny, { after_block_id: string | null; markdown: string; type: "insert"; }, { after_block_id: string | null; markdown: string; type: "insert"; }>, ZodObject<{ block_id: ZodString; markdown: ZodString; type: ZodLiteral<"replace">; }, "strip", ZodTypeAny, { block_id: string; markdown: string; type: "replace"; }, { block_id: string; markdown: string; type: "replace"; }>, ZodObject<{ block_id: ZodString; type: ZodLiteral<"delete">; }, "strip", ZodTypeAny, { block_id: string; type: "delete"; }, { block_id: string; type: "delete"; }>]>, "many">

readonly edit_live_sheet: object

readonly description: "Edit a live sheet with range operations: set cell values or formulas, insert rows, delete rows, or format columns. Rows stream in with your cursor visible to everyone in the sheet. Enter totals, differences and ratios as formulas, not as numbers you computed. Use mode 'suggest' for binding figures (prices, quantities, dates, terms, anything another company or a named approver will rely on): suggested cells show the proposed value beside the current one and change nothing until a person accepts. Use mode 'edit' for your own new rows and columns. An edit that would change or remove a cell a person wrote becomes a suggestion for them automatically." = "Edit a live sheet with range operations: set cell values or formulas, insert rows, delete rows, or format columns. Rows stream in with your cursor visible to everyone in the sheet. Enter totals, differences and ratios as formulas, not as numbers you computed. Use mode 'suggest' for binding figures (prices, quantities, dates, terms, anything another company or a named approver will rely on): suggested cells show the proposed value beside the current one and change nothing until a person accepts. Use mode 'edit' for your own new rows and columns. An edit that would change or remove a cell a person wrote becomes a suggestion for them automatically."

readonly effect: "write" = "write"

readonly kinds: readonly ["sheet"]

readonly name: "edit_live_sheet" = "edit_live_sheet"

readonly schema: object

readonly approver: ZodOptional<ZodString>

readonly doc_id: ZodString = sheetIdSchema

readonly mode: ZodEnum<["edit", "suggest"]>

readonly ops: ZodArray<ZodDiscriminatedUnion<"type", [ZodObject<{ range: ZodString; type: ZodLiteral<"set_range">; values: ZodArray<ZodArray<ZodString, "many">, "many">; }, "strip", ZodTypeAny, { range: string; type: "set_range"; values: string[][]; }, { range: string; type: "set_range"; values: string[][]; }>, ZodObject<{ after_row: ZodNullable<ZodNumber>; type: ZodLiteral<"add_rows">; values: ZodArray<ZodArray<ZodString, "many">, "many">; }, "strip", ZodTypeAny, { after_row: number | null; type: "add_rows"; values: string[][]; }, { after_row: number | null; type: "add_rows"; values: string[][]; }>, ZodObject<{ from_row: ZodNumber; to_row: ZodNumber; type: ZodLiteral<"delete_rows">; }, "strip", ZodTypeAny, { from_row: number; to_row: number; type: "delete_rows"; }, { from_row: number; to_row: number; type: "delete_rows"; }>, ZodObject<{ columns: ZodString; format: ZodOptional<ZodEnum<[…, …, …, …, …]>>; type: ZodLiteral<"format_columns">; width: ZodOptional<ZodNumber>; }, "strip", ZodTypeAny, { columns: string; format?: "number" | "date" | "text" | "currency" | "percent"; type: "format_columns"; width?: number; }, { columns: string; format?: "number" | "date" | "text" | "currency" | "percent"; type: "format_columns"; width?: number; }>]>, "many">

readonly export_live_doc: object

readonly description: "Export a live doc to PDF or docx in this conversation. Export the accepted text: pending insertions are left out and text proposed for deletion is kept." = "Export a live doc to PDF or docx in this conversation. Export the accepted text: pending insertions are left out and text proposed for deletion is kept."

readonly effect: "export" = "export"

readonly kinds: readonly ["doc"]

readonly name: "export_live_doc" = "export_live_doc"

readonly schema: object

readonly doc_id: ZodString = docIdSchema

readonly format: ZodEnum<["pdf", "docx"]>

readonly export_live_sheet: object

readonly description: "Export a live sheet to an Excel (xlsx) file in this conversation, keeping its formulas and column formats. Export the accepted values: pending suggestions are not included." = "Export a live sheet to an Excel (xlsx) file in this conversation, keeping its formulas and column formats. Export the accepted values: pending suggestions are not included."

readonly effect: "export" = "export"

readonly kinds: readonly ["sheet"]

readonly name: "export_live_sheet" = "export_live_sheet"

readonly schema: object

readonly doc_id: ZodString = sheetIdSchema

readonly export_live_slides: object

readonly description: "Export live slides to a PowerPoint (pptx) file in this conversation, with speaker notes. Pending suggestions are not included." = "Export live slides to a PowerPoint (pptx) file in this conversation, with speaker notes. Pending suggestions are not included."

readonly effect: "export" = "export"

readonly kinds: readonly ["slides"]

readonly name: "export_live_slides" = "export_live_slides"

readonly schema: object

readonly doc_id: ZodString

readonly get_live_doc_outline: object

readonly description: "Get the outline of a live doc: every top-level block with its block id, type and text, plus pending suggestions. Call before editing; block ids are how edits target content." = "Get the outline of a live doc: every top-level block with its block id, type and text, plus pending suggestions. Call before editing; block ids are how edits target content."

readonly effect: "read" = "read"

readonly kinds: readonly ["doc"]

readonly name: "get_live_doc_outline" = "get_live_doc_outline"

readonly schema: object

readonly doc_id: ZodString = docIdSchema

readonly open_live_browser: object

readonly description: "Open a shared live browser: a web page the user and agents see and drive together in real time, shown as a card in this conversation. Use it when a task needs a real website with clicks and typing: filling a form, checking an account, walking the user through a site, or a page the web browse tool returns empty. Give the page URL; the tool opens it and returns the page outline with a numbered reference (e1, e2…) for every link, button and field. If this conversation already has a live browser, the tool takes it to the URL instead of opening a second one." = "Open a shared live browser: a web page the user and agents see and drive together in real time, shown as a card in this conversation. Use it when a task needs a real website with clicks and typing: filling a form, checking an account, walking the user through a site, or a page the web browse tool returns empty. Give the page URL; the tool opens it and returns the page outline with a numbered reference (e1, e2…) for every link, button and field. If this conversation already has a live browser, the tool takes it to the URL instead of opening a second one."

readonly effect: "create" = "create"

readonly kinds: readonly ["browser"]

readonly name: "open_live_browser" = "open_live_browser"

readonly schema: object

readonly title: ZodOptional<ZodString>

readonly url: ZodString

readonly open_live_desktop: object

readonly description: "Open a shared live desktop: a full computer with a screen, keyboard and mouse that the user and agents see and drive together, shown as a card in this conversation. Use it when a task needs software rather than a web page: a desktop application, a file to edit in an installed app, a terminal, or anything that will not run inside one browser tab. It takes about ten seconds to start. Optionally launch an application or open a URL or file right away. If this conversation already has a live desktop, the tool reuses it." = "Open a shared live desktop: a full computer with a screen, keyboard and mouse that the user and agents see and drive together, shown as a card in this conversation. Use it when a task needs software rather than a web page: a desktop application, a file to edit in an installed app, a terminal, or anything that will not run inside one browser tab. It takes about ten seconds to start. Optionally launch an application or open a URL or file right away. If this conversation already has a live desktop, the tool reuses it."

readonly effect: "create" = "create"

readonly kinds: readonly ["desktop"]

readonly name: "open_live_desktop" = "open_live_desktop"

readonly schema: object

readonly application: ZodOptional<ZodString>

readonly target: ZodOptional<ZodString>

readonly title: ZodOptional<ZodString>

readonly open_live_room: object

readonly description: "Open a live room: voice and video for the people in this conversation and their agents, with a shared transcript, shown as a card. Use it when people want to talk instead of type: a call, a huddle, a walkthrough, a meeting with an agent listening in. You join as a participant and can speak. If this conversation already has a live room, the tool returns it." = "Open a live room: voice and video for the people in this conversation and their agents, with a shared transcript, shown as a card. Use it when people want to talk instead of type: a call, a huddle, a walkthrough, a meeting with an agent listening in. You join as a participant and can speak. If this conversation already has a live room, the tool returns it."

readonly effect: "create" = "create"

readonly kinds: readonly ["media"]

readonly name: "open_live_room" = "open_live_room"

readonly schema: object

readonly title: ZodOptional<ZodString>

readonly read_live_browser: object

readonly description: "Read the page open in the shared live browser: its URL, title, who is driving, and an outline with a numbered reference (e1, e2…) for every link, button, field and checkbox, plus the visible text. Read before you act: people navigate and type in the same browser, so references from an earlier read may no longer exist." = "Read the page open in the shared live browser: its URL, title, who is driving, and an outline with a numbered reference (e1, e2…) for every link, button, field and checkbox, plus the visible text. Read before you act: people navigate and type in the same browser, so references from an earlier read may no longer exist."

readonly effect: "read" = "read"

readonly kinds: readonly ["browser"]

readonly name: "read_live_browser" = "read_live_browser"

readonly schema: object

readonly doc_id: ZodString = browserIdSchema

readonly read_live_canvas: object

readonly description: "Read a live canvas or live slides. For a canvas: every shape with its id, type, position, size and label, and the arrows between them. For live slides: the theme and each page's layout, elements with their ids and text, and notes. Both include pending suggestions, and mark what a person last changed with their name. Call it before editing; people may have moved, renamed or deleted things since you last looked." = "Read a live canvas or live slides. For a canvas: every shape with its id, type, position, size and label, and the arrows between them. For live slides: the theme and each page's layout, elements with their ids and text, and notes. Both include pending suggestions, and mark what a person last changed with their name. Call it before editing; people may have moved, renamed or deleted things since you last looked."

readonly effect: "read" = "read"

readonly kinds: readonly ["canvas", "slides"]

readonly name: "read_live_canvas" = "read_live_canvas"

readonly schema: object

readonly doc_id: ZodString = canvasIdSchema

readonly read_live_desktop: object

readonly description: "Look at the shared live desktop: a screenshot of the screen as it is now, the screen size, who is driving, and the last actions taken on it with who took them. Look before you act: people use the same desktop, so coordinates from an earlier screenshot may point at something else now." = "Look at the shared live desktop: a screenshot of the screen as it is now, the screen size, who is driving, and the last actions taken on it with who took them. Look before you act: people use the same desktop, so coordinates from an earlier screenshot may point at something else now."

readonly effect: "read" = "read"

readonly kinds: readonly ["desktop"]

readonly name: "read_live_desktop" = "read_live_desktop"

readonly schema: object

readonly doc_id: ZodString = desktopIdSchema

readonly read_live_room: object

readonly description: "Read the live room's transcript: who has joined and what each person and agent has said, newest last. Call it to catch up before speaking, and again after you speak to hear the reply; people's lines arrive as they talk." = "Read the live room's transcript: who has joined and what each person and agent has said, newest last. Call it to catch up before speaking, and again after you speak to hear the reply; people's lines arrive as they talk."

readonly effect: "read" = "read"

readonly kinds: readonly ["media"]

readonly name: "read_live_room" = "read_live_room"

readonly schema: object

readonly doc_id: ZodString = roomIdSchema

readonly read_live_sheet: object

readonly description: "Read a live sheet: each cell's A1 address, its input (the formula, if any) and its computed value, plus the column formats and pending suggestions. Cells a person wrote are marked with their name. Call it before editing so your ranges target the right cells; people may have added or moved rows since you last looked." = "Read a live sheet: each cell's A1 address, its input (the formula, if any) and its computed value, plus the column formats and pending suggestions. Cells a person wrote are marked with their name. Call it before editing so your ranges target the right cells; people may have added or moved rows since you last looked."

readonly effect: "read" = "read"

readonly kinds: readonly ["sheet"]

readonly name: "read_live_sheet" = "read_live_sheet"

readonly schema: object

readonly doc_id: ZodString = sheetIdSchema

readonly range: ZodOptional<ZodString>

readonly speak_in_live_room: object

readonly description: "Speak in the live room: your words are voiced to everyone there and written into the transcript under your name. Keep it to one or two spoken sentences; people cannot skim speech. Do not repeat what you just said in chat." = "Speak in the live room: your words are voiced to everyone there and written into the transcript under your name. Keep it to one or two spoken sentences; people cannot skim speech. Do not repeat what you just said in chat."

readonly effect: "write" = "write"

readonly kinds: readonly ["media"]

readonly name: "speak_in_live_room" = "speak_in_live_room"

readonly schema: object

readonly doc_id: ZodString = roomIdSchema

readonly text: ZodString