Skip to main content
Team tools that agents build inside Summer Studio. 23 operations. How to call them, and what the answers mean: Operations reference.
Generated from the operation catalog: src/lib/ops/public-catalog.json in publicsummerengine at 0d85f61e2b and the summer-engine npm package 4.0.0 for engine and local operations. If something here is wrong, the operation’s definition is wrong.

add_starter

apps.add_starter: Add a starter app Add one of Summer’s starter apps (pick-one, asset-tracker, balance-table, live-ops) to a team as a kept app; a team that has it already gets its copy back. Free. Returns the app id. Next: apps.get. Inputs:
Example: Give the team the balance table.

call

apps.call: Run an app tool Run one of a Summer App’s own agent tools in the person’s open app, with their rights; waits up to 60 seconds. Answers conflict when the app is not open. It may spend credits if the tool generates. Next: apps.tools for its tools. Inputs:
Example: Run the app’s own tool.

create

apps.create: Create an app Create a new scratch Summer App and open it in the person’s Studio tab. Without workspaceId it goes to their team (the result says which and why; tell the person). Free. Returns the app id. Next: apps.publish. Inputs:
Example: Start a new team tool.

delete

apps.delete: Delete an app Ask the person to delete a Summer App: it leaves the team’s Apps for everyone, with its data. Returns a link; nothing changes until they confirm. Next: jobs.wait. To hide it instead, apps.update with status archived. Inputs:
Example: Delete an app the team no longer uses.

dock

apps.dock: Dock
Preview: search finds it and summer_call runs it. It may still change.
Dock a Summer App as a panel in the running Summer Engine editor, close it, or list docked apps. Inputs:
Example: Dock

duplicate

apps.duplicate: Duplicate an app Copy a Summer App and its live version into a new scratch app, in the same team or another of the person’s teams. Its data is not copied. Free. Returns the new app. Next: apps.update or apps.publish. Inputs:
Example: Try a change on a copy.

events

apps.events: Wait for app events Wait up to timeoutSeconds (at most 50) for what a Summer App sends its agent: agent events, errors in the app, people’s feedback, agent tool calls. Pass the returned cursor as after next time. Next: apps.events again. Inputs:
Example: Listen for the app’s events.

feedback

apps.feedback: Send feedback on an app Send the person’s feedback on a Summer App to its makers: thumbs up or down and a note. The app’s agent reads it as an event. Free. Returns sent. Next: apps.events. Inputs:
Example: Tell the makers what is broken.

get

apps.get: Read an app Read one Summer App before changing it: its summary and manifest, its current version’s files (or layout) and a summary of its shared data collections. Next: apps.publish or apps.read_data. Inputs:
Example: Read the app before editing it.

guide

apps.guide: Read the Summer Apps guide Read the guide to building a Summer App (a tool for the person’s team inside Studio): start with overview, then the section the app needs (examples, sdk, manifest, kit, design, layout, types). Returns Markdown. Next: apps.create. Inputs:
Example: Before building a new app.

list

apps.list: List my apps List the Summer Apps in the person’s workspaces: app id, name, purpose, folder, status (scratch, kept, archived), version and format. Filter by team or words. Next: apps.get with an appId. Inputs:
Example: Find the loot table app.

page

apps.page: Read an open app’s page Read the fields and buttons a Summer App declared while it is open in the person’s Studio tab or editor dock. Answers conflict when the app is not open. Next: apps.use_page to fill or press. Inputs:
Example: What does the open app show?

publish

apps.publish: Publish an app version Publish a new version of a Summer App for the person’s team: files with index.html (code apps) or a layout (layout apps), plus the manifest. Their Studio tab boots it. Returns the version. Next: apps.screenshot. Inputs:
Example: Publish the first version.

publish_folder

apps.publish_folder: Publish folder
Preview: search finds it and summer_call runs it. It may still change.
Publish a new version of a Summer App from a local folder, files or a layout; the person’s Studio tab boots it. Inputs:
Example: Publish folder

read_data

apps.read_data: Read an app’s data Read a Summer App’s shared data with no app open: its records (one collection or all, paged) and the record shape each collection declares. Next: apps.write_data. Inputs:
Example: Read the items collection.

report_gap

apps.report_gap: Report a missing app capability Tell Summer about something a Summer App needed that the SDK cannot do yet (for example “read Steam reviews”), so it can be built for everyone. Free. Returns reported. Next: apps.guide for what exists. Inputs:
Example: The app needed Steam reviews.

rollback

apps.rollback: Go back to an older app version Ask the owner to make an older version of a Summer App the live one everyone on the team runs (newer versions stay in Versions). Returns a link; nothing changes until they approve. Next: jobs.wait. Inputs:
Example: Version 4 broke the app; go back to 3.

screenshot

apps.screenshot: Screenshot an app See a Summer App without the person: renders it headless with their data, read-only, and returns the picture plus what to fix (console lines, errors, refused calls, the fields and tools it declared). Use it after every publish. Next: apps.publish. Inputs:
Example: How does it look on a phone?

tools

apps.tools: List an app’s tools The agent tools a Summer App declares (name, description, input JSON Schema) and its data collections (record fields and types). Next: apps.call to run a tool, apps.read_data to read a collection. Inputs:
Example: What can this app do for an agent?

update

apps.update: Change an app Rename a Summer App, change its purpose or folder, set its status (kept, archived, scratch) or pin it to the person’s sidebar. Changes other than pinning need the right to manage it. Free. Returns the app. Next: apps.list. Inputs:
Example: The team keeps this app.

update_starter

apps.update_starter: Update a starter app Ask the owner to make the newest starter the live version of a starter app the team changed (the team’s versions stay in Versions). Returns a link; nothing changes until they approve. Next: jobs.wait. Inputs:
Example: A newer balance table is out.

use_page

apps.use_page: Use an open app’s page Fill fields and press one button a Summer App declared, while it is open in the person’s Studio tab or editor dock. Buttons the app marks critical are the person’s to press. Returns the page after. Next: apps.page. Inputs:
Example: Set a value and save it in the open app.

write_data

apps.write_data: Change an app’s data Write a Summer App’s shared data in one revision, with no app open: put, patch (null removes a key) or remove records; ifRevision applies one only if the record is still at that revision. Everyone in the app sees it live. Next: apps.read_data. Inputs:
Example: Add one record.