Tool tree
gradeNot graded
page: Every page
list_regionsAnswer
Lists the regions of live beach and surf cameras on this wall, with camera and coast counts, and which region is shown. Use first to pick a region before listing cameras.
View tool JSON
{
"name": "list_regions",
"kind": "answer",
"impl": "imperative",
"description": "Lists the regions of live beach and surf cameras on this wall, with camera and coast counts, and which region is shown. Use first to pick a region before listing cameras.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}list_camerasAnswer
Lists the cameras of a region or coast with the signal each has right now, or searches every region by words from a camera, coast or region name. Use to find cameras and see which are live before opening one.
View tool JSON
{
"name": "list_cameras",
"kind": "answer",
"impl": "imperative",
"description": "Lists the cameras of a region or coast with the signal each has right now, or searches every region by words from a camera, coast or region name. Use to find cameras and see which are live before opening one.",
"inputSchema": {
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "Region or coast name as a visitor says it, or a region id from list_regions. The region shown when omitted."
},
"coast": {
"type": "string",
"description": "A coast within the region, to list that coast only."
},
"query": {
"type": "string",
"description": "Words from a camera, coast or region name; searches every region."
},
"page": {
"type": "integer",
"minimum": 1,
"description": "Page of results, from 1."
},
"page_size": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Cameras per page, at most 20."
}
}
},
"page": "/"
}get_frameAnswer
The picture a camera shows: the current frame's address (a 480-pixel preview), or the frame itself at the stream's own resolution, a frame from some minutes ago, or a strip of frames across the last minutes. Use to see the conditions a camera shows, now or recently.
View tool JSON
{
"name": "get_frame",
"kind": "answer",
"impl": "imperative",
"description": "The picture a camera shows: the current frame's address (a 480-pixel preview), or the frame itself at the stream's own resolution, a frame from some minutes ago, or a strip of frames across the last minutes. Use to see the conditions a camera shows, now or recently.",
"inputSchema": {
"type": "object",
"required": [
"camera"
],
"properties": {
"camera": {
"type": "string",
"description": "Camera name as listed, or its id."
},
"minutes_ago": {
"type": "number",
"minimum": 0,
"maximum": 15,
"description": "How far back to look, in minutes; 0 or omitted is now. Recent footage is kept for about ten minutes."
},
"frames": {
"type": "integer",
"minimum": 1,
"maximum": 6,
"description": "Frames to return in one strip, spread from minutes_ago to now; at most 6."
},
"inline": {
"type": "boolean",
"description": "Return the current frame as an image rather than its address."
},
"width": {
"type": "integer",
"minimum": 240,
"maximum": 1920,
"description": "Width of each frame in pixels, up to the stream's own; 960 for one frame, 640 per frame in a strip."
}
}
},
"page": "/"
}contact_sheetSensitive Action
One image with the current pictures of several cameras side by side, named and timed: cameras given by name, or the first video cameras of a region or coast. Use to compare conditions across beaches at a glance.
View tool JSON
{
"name": "contact_sheet",
"kind": "transact",
"impl": "imperative",
"description": "One image with the current pictures of several cameras side by side, named and timed: cameras given by name, or the first video cameras of a region or coast. Use to compare conditions across beaches at a glance.",
"inputSchema": {
"type": "object",
"properties": {
"cameras": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 6,
"description": "Camera names or ids, at most 6."
},
"region": {
"type": "string",
"description": "Region or coast name, to take its first video cameras instead of naming them."
},
"coast": {
"type": "string",
"description": "A coast within the region."
},
"width": {
"type": "integer",
"minimum": 320,
"maximum": 960,
"description": "Width of each tile in pixels; 640 by default."
}
}
},
"page": "/"
}camera_detailsAnswer
Everything the wall knows about one camera: where it is and what it shows, its signal now and since when, how the wall receives it, daylight at the camera, the reviewed notes, and links to its page, forecast and operator. Use after finding a camera.
View tool JSON
{
"name": "camera_details",
"kind": "answer",
"impl": "imperative",
"description": "Everything the wall knows about one camera: where it is and what it shows, its signal now and since when, how the wall receives it, daylight at the camera, the reviewed notes, and links to its page, forecast and operator. Use after finding a camera.",
"inputSchema": {
"type": "object",
"required": [
"camera"
],
"properties": {
"camera": {
"type": "string",
"description": "Camera name as listed, or its id."
}
}
},
"page": "/"
}wall_healthAction
How the wall is doing as a whole: per region, how many cameras are live, out or connecting, and whether the buffer is warming up after a restart. Use before blaming one camera, or when asked whether the site works right now.
View tool JSON
{
"name": "wall_health",
"kind": "act",
"impl": "imperative",
"description": "How the wall is doing as a whole: per region, how many cameras are live, out or connecting, and whether the buffer is warming up after a restart. Use before blaming one camera, or when asked whether the site works right now.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}show_regionAction
Switches the wall to another region's cameras; the page reloads on that region. Use when the cameras wanted are in a region other than the one shown, or to show the favourites.
View tool JSON
{
"name": "show_region",
"kind": "act",
"impl": "imperative",
"description": "Switches the wall to another region's cameras; the page reloads on that region. Use when the cameras wanted are in a region other than the one shown, or to show the favourites.",
"inputSchema": {
"type": "object",
"required": [
"region"
],
"properties": {
"region": {
"type": "string",
"description": "Region name as a visitor says it, a region id from list_regions, or \"favourites\"."
}
}
},
"page": "/"
}open_cameraAction
Brings a camera into view on the wall and highlights it, enlarged on request; a camera from another region opens on that region's wall. Use to show the one camera the visitor asks for.
View tool JSON
{
"name": "open_camera",
"kind": "act",
"impl": "imperative",
"description": "Brings a camera into view on the wall and highlights it, enlarged on request; a camera from another region opens on that region's wall. Use to show the one camera the visitor asks for.",
"inputSchema": {
"type": "object",
"required": [
"camera"
],
"properties": {
"camera": {
"type": "string",
"description": "Camera name as listed, or its id."
},
"expand": {
"type": "boolean",
"description": "Enlarge the camera to fill the window."
}
}
},
"page": "/"
}compose_wallAction
Builds a wall of just the cameras named, side by side, and opens it; the cameras must share one region. Use when the visitor wants a few chosen beaches together, or a link to that selection.
View tool JSON
{
"name": "compose_wall",
"kind": "act",
"impl": "imperative",
"description": "Builds a wall of just the cameras named, side by side, and opens it; the cameras must share one region. Use when the visitor wants a few chosen beaches together, or a link to that selection.",
"inputSchema": {
"type": "object",
"required": [
"cameras"
],
"properties": {
"cameras": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 24,
"description": "Camera names or ids from one region."
},
"navigate": {
"type": "boolean",
"description": "Open the wall (the default), or false for its address only."
}
}
},
"page": "/"
}tourAction
Shows cameras of this wall one after another, each enlarged for some seconds, until stopped. Use for a hands-free check of several beaches; "stop" ends it, "status" reports it.
View tool JSON
{
"name": "tour",
"kind": "act",
"impl": "imperative",
"description": "Shows cameras of this wall one after another, each enlarged for some seconds, until stopped. Use for a hands-free check of several beaches; \"stop\" ends it, \"status\" reports it.",
"inputSchema": {
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"start",
"stop",
"status"
],
"description": "start (the default when cameras are given), stop or status."
},
"cameras": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 24,
"description": "Camera names or ids on this wall, in tour order."
},
"seconds_each": {
"type": "integer",
"minimum": 5,
"maximum": 300,
"description": "Seconds each camera stays enlarged; 20 by default."
}
}
},
"page": "/"
}set_favouriteAction
Stars or unstars a camera in this browser's favourites, the cameras the favourites wall shows. Use when the visitor asks to save a camera or to remove a saved one.
View tool JSON
{
"name": "set_favourite",
"kind": "act",
"impl": "imperative",
"description": "Stars or unstars a camera in this browser's favourites, the cameras the favourites wall shows. Use when the visitor asks to save a camera or to remove a saved one.",
"inputSchema": {
"type": "object",
"required": [
"camera"
],
"properties": {
"camera": {
"type": "string",
"description": "Camera name as listed, or its id."
},
"starred": {
"type": "boolean",
"description": "true to star (the default), false to unstar."
}
}
},
"page": "/"
}diagnose_playbackAction
How one camera is playing in this browser: the player's state and route, time to its first picture, stalls and reconnects, the buffer's view of the camera, and the browser's conditions. Use to debug a camera that will not play or keeps stopping.
View tool JSON
{
"name": "diagnose_playback",
"kind": "act",
"impl": "imperative",
"description": "How one camera is playing in this browser: the player's state and route, time to its first picture, stalls and reconnects, the buffer's view of the camera, and the browser's conditions. Use to debug a camera that will not play or keeps stopping.",
"inputSchema": {
"type": "object",
"required": [
"camera"
],
"properties": {
"camera": {
"type": "string",
"description": "Camera name as listed, or its id."
}
}
},
"page": "/"
}