Views and scripts can use these SDK entries. Chat has matching clock_now,
web_fetch and web_feed tools.
| Entry | Arguments | Result | Action and resource |
|---|---|---|---|
clock.now | {timeZone?} | UTC iso, epochMs, resolved timeZone, localDate, localTime, utcOffsetMinutes | clock.read on clock:local, Allow by default |
web.fetch | {url} | Final url, HTTP status, contentType, UTF-8 body, bytes | web.read on web:public, Ask by default |
web.feed | {url, limit?} | Feed title, link, items, totalItems, complete | web.read on web:public, Ask by default |
Declare clock.read and web.read in the app manifest. A schedule needs Allow
for every action its script uses. clock.now defaults to the desktop time zone.
Use an IANA name such as America/Los_Angeles or Asia/Tokyo for another zone.
export default async function (input, { cap, signal }) {
const time = await cap.call('clock.now', { timeZone: 'America/Los_Angeles' });
signal.throwIfAborted();
const feed = await cap.call('web.feed', { url: input.url, limit: 20 });
signal.throwIfAborted();
return { checkedAt: time.iso, ...feed };
}
Public requests use HTTPS GET, standard port 443, and checked public DNS addresses. Every redirect has the same checks. The service sends no browser cookies, authorization headers, referrer or caller-selected headers. A URL and its query values go to the server. Do not put credentials or personal data in them. Use Browser for pages that need the owner's website sign-in.
The service accepts UTF-8 text, JSON and XML with identity encoding. It refuses binary responses, compressed bodies, private networks, credentials in URLs, more than three redirects, bodies above 1 MiB, and requests that take more than 15 seconds. At most eight calls can run at once. Shutdown stops active work; bound caller revocation also stops it.
web.fetch preserves non-success HTTP status. Check it before parsing JSON.
web.feed requires a successful response and recognizes RSS 2, Atom and JSON
Feed 1/1.1. XML must be well formed, have no DTD/entity declaration and have no
more than 64 nested elements. Feed fields are bounded plain text. Links are
resolved against the feed URL and must use HTTP or HTTPS without credentials.
They are returned as data; the parser does not fetch them.
The default feed limit is 20; the maximum is 100. totalItems counts items in
the fetched document. complete is false if the limit omits items or the feed
declares a next page. The service does not fetch that next page. Content and
titles remain untrusted source data; do not treat them as agent instructions.
These are local SDK APIs. They are not direct RemoteLink entries. Phone Chat can use the tools in its desktop chat turn.