Skip to main content
33 tools. Each one is also a REST route and a CLI command, from the same definition: the same input, the same output, the same errors.

discover_packages

Search the reviewed catalogue. Approved Agents somebody else published, most curated first. Matches the approved name, summary, publisher handle and declared integrations. Several categories widen the result (OR); text and categories narrow each other (AND). Never returns what you own, what you already installed, a version no reviewer approved, or anything suspended. Writes nothing.

Input

Output

Example

get_install_files

Read the files of an install. The contents of the exact version installed, file by file. Separate from the install list so that listing what someone has does not ship every file body they hold. Answers 404 for an install belonging to another account. Writes nothing and installs nothing.

Input

Output

Example

get_run_state

Get a run’s state. When the Mac has never pulled, message is “will start when your Mac is online”.

Input

Output

Example

get_submission_status

Where your submission stands. The decision on your latest submission and, when it was rejected, the reason given. Also says which version Discover is serving, which is not always the one under review.

Input

Output

Example

list_categories

The catalogue’s categories. The categories an Agent can be listed under, in the order they are shown. A retired category is not returned, while a listing that still names one keeps its historical label. Writes nothing.

Input

This tool takes no arguments.

Output

Example

list_device_calls

Pull queued calls for this Mac. The desktop half of the relay. Marks the device seen so new delegations are not “will start when your Mac is online”. Revoked devices get an empty list.

Input

Output

Example

list_devices

List paired Macs. Paired desktops on this account, including revoked ones so Settings can show them.

Input

This tool takes no arguments.

Output

Example

list_installs

What you have installed. Each install with the version you are on, and whether a newer one exists. A package its author took down still appears: what you installed is yours. File contents are not included: read one install’s files with getInstallFiles.

Input

This tool takes no arguments.

Output

Example

list_package_grants

Who you sent a package to. Everyone named on this package, and whether they took it up.

Input

Output

Example

list_packages

List what you have published. Your packages, newest first, each with the version currently published.

Input

Output

Example

list_shared_with_me

Packages sent to you. What someone named you on, installed or not. Matched by account and by the address on your account, so a package sent before you signed up appears once you do.

Input

This tool takes no arguments.

Output

Example

preview_install_update

What an update would bring. The newer version’s files, changelog and permission differences, without applying anything. permissions.added is what the newer version asks for that its installer has never accepted: applying an update that adds any is refused until they are, because a manifest is not consent and an update is not a moment to grant something quietly.

Input

Output

Example

preview_listing

Read a catalogue entry before installing it. The approved version in full (its files, its licence, the permissions it declares and the publisher behind it) which is not always the newest one frozen. Discover has no share token, so this is the preview every install from the catalogue converges on. Answers 404 for a package no reviewer approved and for a suspended one alike: neither is something a browser gets told about. Writes nothing and installs nothing.

Input

Output

Example

preview_package

Read a package before installing it. Everything the address describes: the version on offer, its changelog, and every file in full. Writes nothing and installs nothing: the page that offers an agent has to be able to show what that agent says, because an installed agent runs on the caller’s workspace with the caller’s key. Answers 404 for a token that is unknown or has been taken down. The author of a package may read their own, unlike installing it. A POST that reads: the token is the whole capability, and a query string is written to every access log and sent onward in a Referer.

Input

Output

Example

apply_install_update

Move an install to the latest version. Returns the files to write. A package that has been taken down cannot be updated, and neither can one whose newer version asks for more than its installer accepted: send acceptedDigest to accept the widened manifest, exactly as installing does.

Input

Output

Example

approve_run

Approve a run waiting on the Mac. Queues an approval for the Mac. Does not run the agent on the server.

Input

Output

Example

delegate_task

Queue a task for an agent on a paired Mac. Does not run the agent on the server. The Mac pulls this call and runs it in the vault. agentFolder is the vault-relative folder (the product’s agent id).

Input

Output

Example

detach_install

Keep it, without the link. The package becomes an ordinary folder in your own vault: the files are returned for the client to keep, and the install is forgotten. No further updates, and nothing the author does afterwards reaches it.

Input

Output

Example

grant_package_access

Send a package to someone. target is a username or an email address. This records the send and puts the package in their list; it does not gate installation, which the package’s address already allows. The address is not returned here: it was shown once, when the package was first published.

Input

Output

Example

install_package

Install a package from its address. Returns the files for the client to write. Installing something you already have is not an error: it returns what you are on rather than moving you, so re-opening a link never changes what is on your disk behind your back.

Input

Output

Example

publish_package

Publish a package, or a new version of one. Publishing to a slug you already used adds a version to that package rather than creating a second one, and un-retires it if it had been taken down. The public address is returned once, on the first publish: only a hash of its token is stored.

Input

Output

Example

record_package_view

Record that a catalogue entry was opened. Counts one view per account per package per day, so opening the same card twice is one view rather than two. The viewer is stored as a hash and a share token is never written alongside it: an analytics table that held one would be a list of working private links.

Input

Output

Example

register_device

Register this desktop on the account. A signed-in desktop registers itself as a device. The phone lists paired Macs. No extra pairing code: both sides use the account session.

Input

Output

Example

reject_run

Reject a run waiting on the Mac. Queues a rejection with a note. Does not run the agent on the server.

Input

Output

Example

reply_to_run

Send a message into a run on the Mac. Queues a reply. The Mac sends it on the conversation.

Input

Output

Example

report_package

Report a package to the safety queue. Tells staff that something is wrong with a catalogue entry. One report per account per package: reporting twice replaces nothing and adds nothing, so a single account cannot weigh on the queue by clicking. Answers the same whether or not anybody else has reported it. A count would tell the reporter whether theirs was the first, which is the author’s business and not theirs.

Input

Output

Example

report_run_state

The Mac publishes a run step. Desktop only: step events (running, needs-approval, done, failed). Also writes a run-status realtime event for the phone.

Input

Output

Example

revoke_device

Revoke a paired device. Kills the tunnel. Queued calls for that device are no longer returned to it.

Input

Output

Example

revoke_package_grant

Take a send back. Removes the package from their list. Anything already installed stays installed: this un-sends a recommendation, it does not reach onto someone’s disk.

Input

Output

Example

submit_for_review

Offer a version for Discover. Submits one frozen version for review. The version must already be published, carry a licence and declare its permissions: nothing is licensed or declared on your behalf. A submission does not disturb what Discover already serves: the approved version stays live until a reviewer admits the new one. Submitting again replaces a pending submission for the same package.

Input

Output

Example

uninstall_package

Uninstall. Forgets the install. The client removes the files it wrote.

Input

Output

Example

unpublish_package

Take a package down. The public address stops resolving and nobody new can install it. Existing installs are untouched: what someone already has on their disk is theirs, and taking it back is not something publishing gave you the right to do.

Input

Output

Example

withdraw_listing

Take your Agent out of Discover. Stops offering it in Discover. Existing installs keep working: withdrawing un-lists, it does not reach onto anybody’s disk or revoke what they already accepted.

Input

Output

Example