Tool tree
gradeNot graded
search_berkeley_eventsAnswer
Search upcoming UC Berkeley campus events using the same ranked relevance engine as the CalEvents UI (search-index tokens, synonym expansion, intent chips, fuzzy fallback). Optional category/topic/source/date filters match the UI. Topic slugs come from events.json.topic_vocabulary.topics. Prefer this for discovery; use get_event_by_id for a single known id.
View tool JSON
{
"name": "search_berkeley_events",
"kind": "answer",
"impl": "imperative",
"description": "Search upcoming UC Berkeley campus events using the same ranked relevance engine as the CalEvents UI (search-index tokens, synonym expansion, intent chips, fuzzy fallback). Optional category/topic/source/date filters match the UI. Topic slugs come from events.json.topic_vocabulary.topics. Prefer this for discovery; use get_event_by_id for a single known id.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural-language or keyword query. Uses the website ranked search path when length is at least 2 characters."
},
"datePreset": {
"type": "string",
"enum": [
"today",
"tomorrow",
"week",
"upcoming"
],
"description": "Optional Pacific-time date bucket. Explicit startDate/endDate override the matching bound."
},
"category": {
"type": "string",
"enum": [
"Academic",
"Arts",
"Sports",
"Science & Tech",
"Student Life",
"Entrepreneurship"
],
"description": "Optional category filter (primary tag), same as the UI category control."
},
"topic": {
"type": "string",
"description": "Optional published topic slug. Valid slugs are listed in events.json.topic_vocabulary.topics; do not assume a fixed enum."
},
"source": {
"type": "string",
"description": "Optional source id: livewhale, callink, cal_performances, calbears, bampfa, haas, berkeley_law, simons, luma, begin, ai_risk, brsl, or cltc."
},
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Optional inclusive Pacific date lower bound in YYYY-MM-DD. Defaults to today, as in the UI. A window that starts today leaves out events whose end_time has passed."
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Optional inclusive Pacific date upper bound in YYYY-MM-DD."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
}
}
},
"page": "/"
}get_event_by_idAnswer
Fetch a single CalEvents event by id (same id as ?event=<id>). Returns the event plus directionsUrl, googleCalendarUrl, and a CalEvents permalink when available.
View tool JSON
{
"name": "get_event_by_id",
"kind": "answer",
"impl": "imperative",
"description": "Fetch a single CalEvents event by id (same id as ?event=<id>). Returns the event plus directionsUrl, googleCalendarUrl, and a CalEvents permalink when available.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The event id to look up."
}
},
"required": [
"id"
]
},
"page": "/"
}generate_event_icsAction
Generate an RFC 5545 iCalendar (.ics) string for a single CalEvents event by id. Times use America/Los_Angeles.
View tool JSON
{
"name": "generate_event_ics",
"kind": "act",
"impl": "imperative",
"description": "Generate an RFC 5545 iCalendar (.ics) string for a single CalEvents event by id. Times use America/Los_Angeles.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The event id to export."
}
},
"required": [
"id"
]
},
"page": "/"
}get_cal_events_feed_statusAnswer
Inspect CalEvents source freshness, ingestion status, fallback usage, and data-quality state.
View tool JSON
{
"name": "get_cal_events_feed_status",
"kind": "answer",
"impl": "imperative",
"description": "Inspect CalEvents source freshness, ingestion status, fallback usage, and data-quality state.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}get_ui_stateAnswer
Read the current CalEvents UI workspace from the browser URL: filters (q/date/category/topic/source), selected event id, and optional feed freshness from status.json. Topic slugs come from events.json.topic_vocabulary.topics.
View tool JSON
{
"name": "get_ui_state",
"kind": "answer",
"impl": "imperative",
"description": "Read the current CalEvents UI workspace from the browser URL: filters (q/date/category/topic/source), selected event id, and optional feed freshness from status.json. Topic slugs come from events.json.topic_vocabulary.topics.",
"inputSchema": {
"type": "object",
"properties": {
"includeFeedStatus": {
"type": "boolean",
"description": "When true, also fetch status.json for freshness fields. Defaults to false."
}
}
},
"page": "/"
}build_calevents_urlAction
Build a CalEvents deep-link URL from query/date/category/topic/source/event without changing the open page. Query params: q, date, category, topic, source, event. Topic slugs come from events.json.topic_vocabulary.topics.
View tool JSON
{
"name": "build_calevents_url",
"kind": "act",
"impl": "imperative",
"description": "Build a CalEvents deep-link URL from query/date/category/topic/source/event without changing the open page. Query params: q, date, category, topic, source, event. Topic slugs come from events.json.topic_vocabulary.topics.",
"inputSchema": {
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Search query (?q=)."
},
"query": {
"type": "string",
"description": "Alias for q."
},
"date": {
"type": "string",
"enum": [
"today",
"tomorrow",
"week",
"upcoming"
],
"description": "Date bucket (?date=)."
},
"datePreset": {
"type": "string",
"enum": [
"today",
"tomorrow",
"week",
"upcoming"
],
"description": "Alias for date."
},
"category": {
"type": "string",
"description": "Category or \"All\"."
},
"source": {
"type": "string",
"description": "Source id or \"All\"."
},
"topic": {
"type": "string",
"description": "Published topic slug from events.json.topic_vocabulary."
},
"event": {
"type": "string",
"description": "Selected event id (?event=)."
}
}
},
"page": "/"
}apply_ui_stateAction
Update the open CalEvents page to match shared URL workspace state (q/date/category/topic/source/event). Topic slugs come from events.json.topic_vocabulary.topics. The React UI syncs via history + popstate.
View tool JSON
{
"name": "apply_ui_state",
"kind": "act",
"impl": "imperative",
"description": "Update the open CalEvents page to match shared URL workspace state (q/date/category/topic/source/event). Topic slugs come from events.json.topic_vocabulary.topics. The React UI syncs via history + popstate.",
"inputSchema": {
"type": "object",
"properties": {
"q": {
"type": "string"
},
"query": {
"type": "string"
},
"date": {
"type": "string",
"enum": [
"today",
"tomorrow",
"week",
"upcoming"
]
},
"datePreset": {
"type": "string",
"enum": [
"today",
"tomorrow",
"week",
"upcoming"
]
},
"category": {
"type": "string"
},
"source": {
"type": "string"
},
"topic": {
"type": "string",
"description": "Published topic slug from events.json.topic_vocabulary."
},
"event": {
"type": "string"
}
}
},
"page": "/"
}get_event_directionsAnswer
Return a Google Maps directions/search URL for an event location, or null for online/empty locations.
View tool JSON
{
"name": "get_event_directions",
"kind": "answer",
"impl": "imperative",
"description": "Return a Google Maps directions/search URL for an event location, or null for online/empty locations.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Event id."
},
"location": {
"type": "string",
"description": "Optional raw location text when id is unknown."
}
}
},
"page": "/"
}